查看docker状态
systemctl status docker
启动docker服务
systemctl start docker
停止docker服务
systemctl stop docker
重启docker服务
systemctl restart docker
设置开机启动docker服务
systemctl enalbe docker
查看本地镜像
docker images
docker images –q # 查看所有镜像的id
docker inspect 镜像名称 # 查看镜像信息
搜索镜像
docker search 镜像名称
拉取镜像
docker pull 镜像名称:镜像版本
# 如果不指定版本,则默认拉去最新版,不知道版本可以访问 https://hub.docker.com/ 查询;
删除镜像
docker rmi 镜像id或名称 # 删除指定本地镜像
docker rmi `docker images -q` # 删除所有本地镜像
创建某个container的镜像
docker [container] commit CONTAINER IMAGE_NAME:TAG
将镜像ubuntu:20.04
导出为本地文件ubuntu_20_04.tar
docker save -o ubuntu_20_04.tar ubuntu:20.04
将镜像ubuntu:20.04
从本地文件ubuntu_20_04.tar
中加载出来
docker load -i ubuntu_20_04.tar
查看容器
docker ps # 查看正在运行的容器
docker ps –a # 查看所有容器
docker inspect 容器名称 # 查看容器信息
创建并启动容器
# 创建容器
docker [container] create 参数 镜像名字:版本
# 创建并启动容器
docker [contaienr] run 参数 镜像名字:版本
# 例
docker run -it --name=容器名字 镜像名字:版本 [附加操作]
docker run -it --name=c1 centos:7 /bin/bash
-i
:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭;-t
:为容器重新分配一个伪输入终端,通常与 -i 同时使用;-d
:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭;-it
创建的容器一般称为交互式容器,-id
创建的容器一般称为守护式容器;--name
:为创建的容器命名;-p
:将宿主机端口与容器端口映射, 如3307:3306
冒号左侧是宿主机端口, 右侧是docker容器端口;
启动容器
docker [container] start 容器名称
进入容器
docker exec 参数 [/bin/bash]
查看某个容器内的所有进程
docker top CONTAINER
查看所有容器的统计信息
docker stats # 包括CPU、内存、存储、网络等信息
在本地和容器间复制文件
docker cp xxx CONTAINER:xxx
或
docker cp CONTAINER:xxx xxx
重命名容器
docker rename CONTAINER1 CONTAINER2
修改容器限制
docker update CONTAINER --memory 500MB
退出容器
exit
停止容器
docker stop 容器名称
删除容器
docker rm 容器名称或id #需要停止容器才能删除
docker rm `docker ps -aq` #删除所有容器
数据卷是宿主机中的一个目录或文件,通过配置数据卷,可以实现宿主机与容器之间数据的双向同步。
一个数据卷可以同时被多个容器挂载,一个容器可以挂载多个数据卷。
数据卷的作用:
方式一:配置数据卷
创建启动容器时,使用 –v 参数 设置数据
docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
# 例
docker run -it --name=c1 -v /root/data:/root/data_c1 centos:7 /bin/bash
1.目录必须是绝对路径;
2.如果目录不存在,会自动创建;
3.可以挂载多个数据卷;
方式二:配置数据卷容器
多个容器挂载同一个数据卷,来实现容器互相同步数据。
创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run –it --name=c3 –v /volume centos:7 /bin/bash #不写宿主机目录时,会自动在宿主机创建一个目录
创建启动 c1 c2 容器,使用 –-volumes-from
参数 设置数据卷
docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash