启动类命令
- 启动
systemctl start docker
- 停止
systemctl stop docker
- 重启
systemctl restart docker
- 查看状态
systemctl status docker
- 开机启动
systemctl enable docker
- 概要
docker info
- 总体帮助文档
docker --help
- 命令帮助文档
docker 具体命令 --help
镜像命令
-
查看主机上的镜像
命令:
docker images
参数:
-a:列出本地所有镜像,含历史映射层
-q:只显示镜像ID
示例:docker images -a
-
从仓库查询某个镜像
命令:
docker search 镜像名称
参数及示例:
–limit N:显示N条,默认25docker search redis --limit 1
-
下载镜像
命令:
docker pull 镜像名称:镜像版本
参数及示例:
下载最新docker pull redis
下载指定版本
docker pull redis:6.0.8
-
查看镜像/容器/卷标占用空间
命令:
docker system df
参数及示例:docker system df
-
删除镜像
命令:
docker rmi 镜像ID或名称
参数及示例:
普通删除docker rmi d2c94e258dcb
删除多个
docker rmi d2c94e258dcb d2c94e25778f
-f:强制删除
docker rmi -f d2c94e258dcb
删除全部
- 使用docker images -qa查询镜像ID
- 使用docker的命令连接,将删除命令和镜像查询命令组合
docker rmi -f $(docker images -qa)
容器命令
-
新建并启动容器
命令:docker run 镜像名[:版本]
示例:
1.1. 普通创建启动docker run 镜像名
1.2 --name:指定名称启动,不指定随机分配
docker run --name=ubuntu01 镜像名
1.3 -d:后台启动并返回容器ID
docker run -d --name=ubuntu02 镜像名
1.4 -P:随机端口映射
docker run --name=ubuntu03 -P 镜像名
1.5 -p:指定端口映射
格式1: -p 主机端口:容器端口docker run --name=ubuntu04 -p 25565:25565 镜像名
格式2:-p 主机地址:主机端口:容器端口
docker run --name=ubuntu05 -p 192.168.8.235:25566:25566 镜像名
1.6 -t:为容器重新分配一个伪输入终端,常与-i结合
1.7 -i:以交互模式运行容器,常与-t结合docker run -it --name=ubuntu07 镜像名 /bin/bash
/bin/bash是命令,我们希望使用交互式终端,所以用/bin/bash,此时就可以向操作普通的linux一样书写shell命令了。使用exit退出终端
-
列出正在运行的容器
命令:docker ps
示例:
2.1 普通docker ps
2.2 -a:列出当前和历史运行过的容器
docker ps -a
2.3 -l:显示最近创建的容器
docker ps -l
2.4 -n:显示最近创建的n容器
docker ps -n 3
2.5 -q:静默模式,只显示容器编号
docker ps -q
-
退出容器
3.1 exit
run进去容器,输入exit,退出,容器停止
3.2 ctrl+p+q
run进去容器,输入ctrl+p+q,退出,容器不停止 -
启动/停止容器(使用docker ps -a查看)
4.1 启动已经停止的容器
docker start 容器ID或容器名docker start ab239bb494ad docker start hopeful_chatelet
4.2 重启容器
docker restart 容器ID或容器名docker restart ab239bb494ad docker restart hopeful_chatelet
4.3 停止容器
docker stop 容器ID或容器名docker stop ab239bb494ad docker stop hopeful_chatelet
4.4 强制停止容器
docker kill 容器ID或容器名docker kill ab239bb494ad docker kill hopeful_chatelet
4.5 删除已经停止的容器
docker rm 容器ID
普通删除docker rm ab239bb494ad
-f:强制删除(不停止也能删除)
docker rm -f ab239bb494ad
删除所有(也是使用docker的续写模式$)
docker rm -f $(docker ps -a -q)
-
查看容器日志
docker logs 容器IDdocker logs 6272264c49fe
-
查看容器内部细节
docker inspect 容器IDdocker inspect 6272264c49fe
-
以交互式进入正在运行的容器
7.1 docker exec -it 容器ID bashShell(启动新的进程,退出容器不停止)docker exec -it 6272264c49fe /bin/bash
7.2 docker attach 容器ID(不会启动新的进程,退出容器停止)
docker attach 6272264c49fe
推荐使用7.1,因为退出不会导致容器停止,7.2会导致容器停止
-
从容器拷贝文件到主机
docker cp 容器ID:容器文件路径 目标的主机路径docker cp 3d4666085f30:/data/1.txt /home/1.txt
-
导入导出容器
9.1 导出容器
docker export 容器ID > 文件名.tardocker export 3d4666085f30 > redis6.0.8.tar
9.2 导入容器
cat redis6.0.8.tar | docker import - klcwqy/redis:6.0.8
这时就产生了一个新的镜像klcwqy/redis:6.0.8,使用docker run即可