一、服务相关命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# 启动服务 systemctl start docker # 服务状态 systemctl status docker # 停止服务 systemctl stop docker # 重启服务 systemctl restart docker # 设置开机自启动之前需执行该命令,不然可能会报错 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 开机自启动 systemctl enable docker |
二、镜像相关命令
思考:什么是docker虚悬镜像?
仓库名、标签都是<none>的镜像,俗称虚悬镜像danging image
1、查看镜像
1 2 3 4 5 6 7 8 9 |
<span style="font-size: 15px;"># 查看镜像 docker images docker images -a # 查看所有镜像的id docker images -q # 查看镜像/容器/数据卷所占的空间 docker system df</span> |
2、搜索镜像文件,比如搜索Redis
1 |
docker search redis |
3、下载镜像文件,比如redis
1 2 3 4 5 6 7 |
<span style="font-size: 15px;"><span style="color: rgba(0, 0, 0, 1);"># 下载最新版本,即latest版本 docker pull redis # 下载对应版本</span>docker pull redis:<span style="color: rgba(128, 0, 128, 1);">5.0 <span style="color: rgba(0, 0, 0, 1);"># 删掉镜像文件,通过镜像id或名字和版本进行删除都是可以的,如下</span> </span></span> |
1 |
docker rmi -f 镜像Id |
1 2 3 4 5 6 |
<span style="font-size: 15px;">docker rmi -f redis:5.0 加上-f参数代表强制删除 # 删除所有镜像 docker rmi `docker images -q`</span> |
1 |
要想查看docker是否维护对应镜像文件的版本可以在官网进行查找 :https://hub.docker.com/
三、容器命令
1 2 3 4 5 6 7 8 9 |
<span style="font-size: 15px;"><span style="color: rgba(0, 0, 0, 1);"># 查看正在运行的容器 docker ps # 查看正在运行的容器以及已经关闭的容器 docker ps </span>-<span style="color: rgba(0, 0, 0, 1);">a # 创建容器(例如:将5.0版本的redis创建到名为c1的容器内) docker run </span>-id --name=c1 redis:<span style="color: rgba(128, 0, 128, 1);">5.0</span> /bin/<span style="color: rgba(0, 0, 0, 1);">bash(方式一例如:将5.0版本的redis创建到名为c1的容器内) docker run -id --name=c1 容器id /bin/bash (方式二例如:将镜像文件id为xxx的redis创建到名为c1的容器内)</span></span> |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<span style="font-size: 15px;"><span style="color: rgba(0, 0, 0, 1);">参数说明: </span>-i :保持容器运行。通常与-<span style="color: rgba(0, 0, 0, 1);">t同时使用,加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。 </span>-t :为容器重新分配一个伪输入终端,通常与-<span style="color: rgba(0, 0, 0, 1);">i同时使用。 </span>-<span style="color: rgba(0, 0, 0, 1);">d :以守护(后台)模式运行容器,创建一个容器在后台运行,需要使用docker exec 进入容器,退出后,容器不会关闭。 </span>-it :创建的容器一般称为交互式容器,-<span style="color: rgba(0, 0, 0, 1);">id创建的容器一般称为守护式容器 </span>--<span style="color: rgba(0, 0, 0, 1);">name :为创建的容器命名 -P:随机端口映射,大写P -p:指定端口映射,小写p(例如:-p 6379:6379 左边代表宿主机端口,右边代表docker容器端口) # 进入容器 docker exec </span>-it 容器名称 /bin/<span style="color: rgba(0, 0, 0, 1);">bash docker attach 容器名称/容器id 两者区别:attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。 exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止,推荐使用。 # 退出容器 exit (run进去容器,exit退出,容器会停止) ctrl+p+q (run进去容器,ctrl+p+q退出,容器不停止) # 启动容器 docker start 容器名称/容器id # 重启容器 docker restart 容器名称/容器id # 停止容器 docker stop 容器名称/容器id # 强制停止容器 docker kill 容器id/容器名称 # 删除容器(无法删除正在运行的容器,需要先停止该容器再进行删除操作) docker rm 容器id/容器名称 # 强制删除 docker rm -f 容器id/容器名称 # 查看容器信息 docker inspect 容器名称/容器id # 查看容器日志 docker logs 容器id/容器名称 # 查看容器内进行运行的进程 docker top 容器名称/容器id # 从容器内拷贝文件到主机上 (注:如果是在容器内,需要exit先切换到宿主机上) docker cp 容器id:容器内路径 目的主机路径 (例如:docker cp 123123:/data/test.txt /data id为123123的容器,将/data/test.txt文件拷贝到宿主机/data目录下)</span></span> |
1 2 3 4 5 6 7 8 9 |
<span style="font-size: 15px;"><span style="color: rgba(0, 0, 0, 1);"> # 导入和导出容器 export 导出容器的内容留作为一个tar归档文件[对应import命令] import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export命令] docker export 容器id > 文件名.tar cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号 </span></span> |