一、帮助命令
docker --help
二、进程相关命令
-
启动 Docker 服务
systemctl start docker
-
停止docker服务
systemctl stop docker
-
重启docker服务
systemctl restart docker
-
查看docker服务状态
systemctl status docker
-
开机启动docker服务
systemctl enable docker
三、镜像相关命令
-
查看镜像
# 查看镜像的全部信息 docker images # 查看所用镜像的id docker images –q
-
搜索镜像
# 搜索镜像 docker search 镜像名称 # 如:搜索redis镜像 docker search redis
-
拉取镜像
# 拉取最新的镜像 docker pull 镜像名称 # 拉取指定版本的镜像 docker pull 镜像名称:版本号
如果不知道镜像版本,可以去 docker hub 中搜索查看版本。
-
删除镜像
# 删除指定本地镜像 docker rmi 镜像id # 删除所有本地镜像(一般都不用改命令) docker rmi `docker images -q`
四、容器相关命令
-
查看容器
# 查看正在运行的容器 docker ps # 查看所有容器 docker ps -a
-
创建容器
# 创建容器 docker run 参数 # 如:创建一个 centos 容器后自动进入容器,当退出容器时,容器自动关闭 docker run -it --name=c2 centos:8 # 如:创建一个后台守护模式的 centos 容器 docker run -id --name=c3 centos:8
参数说明:
- -i:保持容器运行。通常与 -t 同时使用。
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
- -d:以守护(后台)模式运行容器。
- -it 创建的容器一般称为交互式容器,容器创建后自动进入容器中,退出容器后,容器自动关闭。
- -id 创建的容器一般称为守护式容器。
- –name:为创建的容器命名。
-
进入容器
# 退出容器,容器不会关闭 docker exec 参数 # 如:进入一个名为 c3 的容器 docker exec -it c3 /bin/bash
-
启动容器
# 启动容器 docker start 容器名称 # 如:启动一个名为 c3 的容器 docker start c3
-
停止容器
# 停止容器 docker stop 容器名称 # 如:停止一个名为 c3 的容器 docker stop c3
-
删除容器
# 删除容器 docker rm 容器名称 # 如:删除一个名为 c3 的容器 docker rm c3
注意:需要停止容器才能删除。
-
查看容器信息
# 查看容器信息 docker inspect 容器名称 # 如:查看一个名为 c3 的容器信息 docker inspect c3
-
复制容器的文件到主机
docker cp 容器id或容器名称:容器要复制的文件路径 复制到属主的文件路径
五、容器的数据卷
-
数据卷
- 数据卷
- 数据卷是宿主机中的一个目录或文件
- 当容器目录和数据卷目录绑定后,对方的修改会立即同步
- 一个数据卷可以被多个容器同时挂载
- 一个容器也可以被挂载多个数据卷
- 数据卷作用:
- 容器数据持久化
- 外部机器和容器间接通信
- 容器之间数据交换
- 数据卷
# 创建启动容器时,使用 –v 参数 设置数据卷
docker run ... –v 宿主机目录(文件):容器内目录(文件) [–v 宿主机目录(文件):容器内目录(文件)...]
# 如:创建 centos8 c1 容器,并将容器的 /root/tata_container 挂载到系统的 /root/data 下
docker run -it --name=c1 -v /root/data:/root/tata_container centos:8 /bin/bash
【注意】:
- 容器的目录必须是绝对路径。
- 如果目录不存在,会自动创建。
- 可以挂载多个数据卷。
- 后面的 /bin/bash 可以忽略。
-
数据卷容器
- 概念:宿主机的一个目录或文件
- 作用:
- 容器数据持久化
- 客户端和容器数据交换
- 容器间数据交换
- 数据卷容器:
- 创建一个容器,挂载一个目录,让其他容器继承自该容器(–volume-from )。
- 通过简单方式实现数据卷配置
# 创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run –it --name=c3 –v /volume centos:8 /bin/bash
# 创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
docker run –it --name=c1 --volumes-from c3 centos:8 /bin/bash
docker run –it --name=c2 --volumes-from c3 centos:8 /bin/bash