docker 基础知识
1,docker官网:https://www.docker.com
文档:https://docs.docker.com
仓库:https://hub.docker.com
2,名词解释
镜像(image):docker镜像就好比是 一个目标 ,可以通过这个 目标来创建 容器服务,通过这个镜像可以创建多个容器。
容器(container):可以理解为一个建议的Linux系统
仓库(repository):存放镜像的地方。
3,安装docker
环境准备:Linux要求3.0以上;centos7
#环境查看
>> unman -r
#系统版本
>> cat /etc/os-release
#1,卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2,需要的安装包
yum install -y yum-utils
#3,设置镜像仓库
Yum-config-manager \
add-rep \
Https://download.docker.com/linux/centos/docker-ce.repo #默认为国外的,不推荐
#推荐使用国内的
Yum-config-manager \
--add-rep \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新软件包索引
yum makecache fast
#4,安装docker docker-ce 社区版 (ee是企业版)
yum install docker-ce docker-ce-li containerd.io
#5,启动docker
systemctl start docker
#6,使用docker version 查看是否安装成功
docker version
#7,测试
docker run hello-word
#8,查看hello-world镜像
docker images
卸载docker
#卸载依赖
yum remove docker-ce docker-ce-li containerd.io
#删除资源(/var/lib/docker 是docker的默认工作路径)
rm -rf /var/lib/docker
阿里云镜像加速
1,登陆阿里云找到容器服务 --> 镜像加速器
2,配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://cdoid6va.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker run 流程图
docker 常用命令
帮助命令
docker version #显示docker的版本信息
docker info #显示docker的系统信息,包含镜像和容器数量
docker 命令 --help #帮助命令
帮助文档地址:
https://docs.docker.com/engine/reference/commandline/build/
镜像命令
docker images
>> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 5months ago 13.3kB
#解释
REPOSITORY:镜像的仓库源
TAG :镜像标签
IMAGE ID:镜像ID
CREATED:镜像的创建时间
SIZE:镜像的大小
#可选项
options:
-a , --all #列出所有镜像
-q , --quiet #只显示镜像ID
docker search 搜索镜像
>>docker search mysql
>>docker search mysql --filter=STARS=3000
docker pull 下载镜像
>> docker pull mysql
>> docker pull mysql:5.7
docker rmi 删除镜像
>> docker rmi -f 镜像id #删除指定镜像
>> docker. rmi -f 镜像id 镜像id 镜像id #删除多个镜像
>>docker rmi -f $(docker images -aq) #删除全部镜像
容器命令
ps:有了镜像才可以创建容器
>> docker pull centos
>>docker run [可选参数] image
>> docker run -it centos /bin/bash #测试,启动并进入容器
>> exit #从容器中退出
列出 所有运行的容器
docker ps 命令
退出容器
>> exit #直接退出容器
>>Ctrl + p + q #容器不停止退出
删除容器
docker rm 容器id # 删除指定容器,不能删除正在运行的容器,如果要强制删 除 rm -f
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -a -q|xargs docker rm #删除所有容器
启动和停止容器的操作
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前正在运行的容器
常用其他命令
后台启动容器
docker run -d 镜像名
docker run -d centos
docker ps
查看日志
docker logs -f -t --tail 数字 容器id
-tf 显示日志
–tail #要显示的日志条数
>>docker logs -tf --tail 10 ce989f90023d
查看容器中进程信息 docker top 容器id
docker top ce989f90023d
查看景象元数据 docker imspect 容器ID
>>docker inspect ce989f90023d
进入当前正在运行的容器
方法1,docker exec -it 容器id bashShell
>>docker exec -it ce989f90023d /bin/bash
>>ls
>>ps -ef
方法2,docker attach 容器id
>>docker attach ce989f90023d
docker exec #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器id:容器内目标文件路径 目的主机路径
#查看主机目录
>>ls
>>docker attach ce989f90023d
>>cd /home
>> ls
#在容器内新建一个文件
>>touch test.java
>>exit
>>docker ps -a
#将docker内文件拷贝到主机上
>>docker cp ce989f90023d:/home/test.java /home
>>ls