【Docker】专题二:Docker 常用命令汇总

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

Linux 专栏 | Docker 专栏 | Kubernetes 专栏


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)

【Docker】MySQL 源码构建 Docker 镜像(基于 ARM 64 架构)


目录

一、镜像操作命令

1、登录镜像仓库

2、从仓库下载镜像

3、修改镜像名称

4、推送镜像至仓库

5、构建镜像

6、从本地文件导入镜像

7、导出镜像为本地文件

8、查看本地镜像列表

9、删除本地镜像

10、查看镜像历史

 二、容器操作命令

1、运行容器

2、重启容器

3、停止容器

4、查看容器列表

5、查看容器进程

6、查看容器资源使用情况

7、查看容器日志

8、查看容器实时事件

9、查看容器元信息

10、删除容器

11、将容器打包成镜像

12、进入容器

 三、网络操作命令

1、查看容器网络

2、创建容器网络

3、删除容器网络

4、查看容器网络元信息

5、新增网络关联

6、删除网络关联

 四、数据卷操作命令

1、查看数据卷

2、创建数据卷

3、删除数据卷

4、查看数据卷元信息

 五、其他操作命令

1、查看 Docker 信息

2、查看占用空间

3、清理数据


一、镜像操作命令
1、登录镜像仓库
docker login -u "用户名" -p "用户密码" "镜像仓库地址"
2、从仓库下载镜像
docker pull <镜像名称或镜像ID>
# 示例:docker pull docker.io/nginx:1.21
# <镜像名称>格式一般为:<镜像仓库地址>/<仓库名称>:<标签>
# --platform:指定镜像架构,如 amd64、arm64 等
3、修改镜像名称
docker tag <原镜像名称> <新镜像名称>
# 示例:docker tag docker.io/nginx:1.21 local.hub/nginx-demo:1.21-xxx
4、推送镜像至仓库
docker push <镜像名称>
# 示例:docker push local.hub/nginx-demo:1.21-xxx
5、构建镜像
docker build -t <镜像名称> -f <Dockerfile> <构建上下文>
# -t:指定镜像名称
# -f:指定 Dockerfile 文件
6、从本地文件导入镜像
docker load < demo.tar 或 demo.tgz
docker load -i demo.tar 或 demo.tgz
7、导出镜像为本地文件
docker save <镜像名称> > demo.tar
docker save <镜像名称> -o demo.tar
docker save <镜像名称> | gzip > demo.tgz
8、查看本地镜像列表
docker image ls
docker images
9、删除本地镜像
docker rmi -f <镜像名称或镜像ID>
10、查看镜像历史
docker history <镜像名称或ID>
# --no-trunc:显示完整构建记录

 二、容器操作命令
1、运行容器
docker run -itd -v <主机目录或数据卷>:<容器目录>:<权限> <镜像名称> bash
# -i:允许交互
# -t:打开终端
# -d:后台运行
# -v:指定主机与容器的目录映射,默认权限是读写rw
# -p:指定主机与容器的端口映射,格式为:主机端口:容器端口/IP
# -e:指定环境变量,格式为:key=value
# --name:指定容器名称
# --env-file:指定配置文件
# --add-host:向容器的/etc/hosts文件中添加host解析,格式为:"HOST:IP"
2、重启容器
docker restart <容器名称或容器ID>
3、停止容器
docker stop <容器名称或容器ID>
4、查看容器列表
docker container ls
docker ps
# -a:显示所有状态的容器
# -q:仅显示容器ID
# -s:显示容器文件大小,等价于
## docker ps --format '{{.Names}}\t{{.Size}}'
## docker ps —-format 'table {{json .Names}}\t{{json .Size}}'
5、查看容器进程
docker top <容器名称或容器ID>
6、查看容器资源使用情况
docker stats
# --no-stream:只输出一次结果,非连续显示
7、查看容器日志
docker logs -f <容器名称或容器ID>
# -f:刷新实时日志
8、查看容器实时事件
docker events --since/--until "过滤条件"
# 过滤条件可以为日期、时间、h、m、s
9、查看容器元信息
docker inspect --format '{{ json .State.Status }}' <容器名或容器ID>
10、删除容器
docker rm -f <容器名称或容器ID>
11、将容器打包成镜像
docker commit -a "作者信息" -m "摘要信息" <容器名称> <镜像名称>
# 实质:保存容器的最终状态
# 缺点:无法打包映射目录的内容;存在冗余数据
12、进入容器
docker exec -it <容器名或容器ID> bash

# 不进入容器执行命令(在脚本中、crontab中需要去掉-i或-t)
docker exec -it <容器名或容器ID> bash -c '命令'

 三、网络操作命令
1、查看容器网络
docker network ls
2、创建容器网络
docker network create --driver bridge --subnet xx.xx.xx.xx/xx --gateway xx.xx.xx.1 <网络名称>
# 自动创建的默认网段为172.18.0.0/16
# --driver:指定网络模式,包括 bridge(网桥模式)、host(主机模式)、container(容器模式)和 none
# --subnet:指定网段
# --gateway:指定网关
3、删除容器网络
docker network rm <网络名称>
4、查看容器网络元信息
docker network inspect <网络名称>
5、新增网络关联
docker network connect <网络名称> <容器名或容器ID>
6、删除网络关联
docker network disconnect -f <网络名称> <容器名或容器ID>

 四、数据卷操作命令
1、查看数据卷
docker volume ls
2、创建数据卷
docker volume create my-vol
3、删除数据卷
docker volume rm my-vol
4、查看数据卷元信息
docker volume inspect my-vol

 五、其他操作命令
1、查看 Docker 信息
docker info
2、查看占用空间
# 查看镜像、容器、数据卷占用的空间
docker system df
3、清理数据
# 全面清理镜像、容器、网络、缓存
docekr system prune -a -f
# -a 或 --all:可以一并清除所有未使用的镜像和悬空镜像
# -f 或 --force:用以忽略相关告警确认信息
# 等价于以下的合集:
docker image prune            #清理镜像
docker container prune        #清理容器
docker network prune          #清理网络
docker builder prune          #清理缓存(低版本没有这个命令)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者Sun1989

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值