Docker命令大全与实例详解

本文详细介绍了Docker的核心命令,包括环境初始化、镜像管理(拉取、打包、删除)、容器操作(运行、暂停)、网络配置和与DockerCompose的集成,为读者提供日常和学习中的实践参考。
摘要由CSDN通过智能技术生成

本文旨在汇总和深入解析日常工作与学习中频繁接触到的Docker核心命令,通过实例演示来巩固记忆,以便读者在实际操作中迅速查阅和高效运用。Docker作为一种轻量级容器技术,已经成为现代应用部署与管理的重要工具。本文将涵盖从基本的Docker环境初始化、镜像与容器生命周期管理,到网络配置、数据卷维护、以及与Docker Compose等高级功能的集成使用。

系统环境

  1. centos7
  2. docker-ce 25.0.4

查看docker镜像

命令语句

docker images

可选参数

  1. -a, --all: 显示所有镜像。

  2. -q, --quiet: 只显示镜像ID,而不是详细信息,适合在脚本中使用,获取镜像ID列表。

  3. -f, --filter: 根据条件过滤镜像列表,例如按照镜像标签、仓库名、是否被标记为临时镜像等属性进行筛选。

  4. [REPOSITORY[:TAG]]: 可以指定特定的镜像仓库名及可选的标签,只显示与之匹配的镜像。如果不指定标签,则会显示该仓库下的所有镜像。

  5. --digests: 显示镜像摘要信息,对于支持摘要标识符的镜像仓库,会显示出镜像的SHA-256摘要值。

  6. -no-trunc: 不截断输出的信息,比如完整的镜像ID和仓库名。

示例

在这里插入图片描述

拉取docker镜像

命令语句

docker pull mysql

可选参数

  1. -a, --all-tags: 下载指定镜像仓库的所有标签版本,而非默认的单个最新标签(通常是 latest)。

  2. --disable-content-trust: 忽略镜像的校验,如果镜像仓库启用了内容信任机制,默认情况下Docker会检查镜像签名,此选项允许你暂时禁用这种安全检查。

  3. --platform: 指定要拉取镜像的平台架构(如 linux/amd64、linux/arm64 等)。

  4. --label: 当拉取镜像时添加指定的元数据标签。

示例

在这里插入图片描述

打包镜像

命令语句

 docker save -o mysql.tar mysql:latest

可选参数

  1. -o, --output 或 -output : 指定导出的镜像归档文件的路径。
  2. <IMAGE> [IMAGE...]: 指定要导出的镜像名称和可选的标签。可以同时导出多个镜像,只需将它们的名字按顺序列出来即可。

示例

在这里插入图片描述

删除镜像

命令语句

 docker rmi mysql

可选参数

  1. -f, --force 或 --force: 强制删除镜像,即使有容器正在使用该镜像也会尝试删除。如果某个镜像有正在运行的容器基于它,通常 Docker 会拒绝删除该镜像,除非使用 --force 参数。

  2. -no-prune(较新版本的Docker可能提供): 在某些 Docker 版本中,docker image prune 命令提供了清理未被使用的镜像的功能,而 --no-prune 参数在 docker rmi 中可以阻止关联的未标记镜像( dangling images )被自动删除,但这并不是 docker rmi 命令本身的选项,而是与相关清理操作有关。

示例

在这里插入图片描述

加载镜像

命令语句

 docker load -i mysql.tar

可选参数

  1. -i, --input 或 -input: 指定要加载的 tar 归档文件的路径

  2. -q, --quiet 或 --quiet: 简化输出信息,只显示必要的加载结果,而不打印详细的进度条和其他详细信息

  3. --disable-content-trust: (在某些 Docker 版本中可用)忽略镜像的内容信任检查。默认情况下,Docker 会验证镜像的签名,如果镜像在导出时进行了签名验证,那么加载时也会要求验证,使用此选项可以禁用这个检查。

示例

在这里插入图片描述

查看所有运行中的容器和状态

命令语句

 docker ps

可选参数

  1. -a 或 --all: 列出所有容器,包括未运行(已停止)的容器。

  2. -f 或 --filter: 根据条件过滤列出的容器,可以指定诸如状态(running, exited)、标签(label)等条件。

  3. -q 或 --quiet: 只显示容器ID,不显示其他详细信息。

  4. --latest: 显示最近创建或启动的容器(在较新版本的Docker中可能不再支持)。

  5. --no-trunc: 不截断输出的信息,例如完整显示容器ID和映像名称。

  6. -n=<整数>: 显示最近创建的n个容器。

  7. --size 或 -s: 显示容器的大小。

  8. --format: 指定返回值的模板格式,允许自定义输出样式。

示例

在这里插入图片描述

创建并运行容器

命令语句

 docker run --name containerName -p 80:80 -d nginx
 
 命令解读:
- docker run :创建并运行一个容器
- --name : 给容器起一个名字,比如叫做mn
- -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
- -d:后台运行容器
- nginx:镜像名称,例如nginx

可选参数

  1. -d 或 --detach: 以后台模式运行容器,并返回容器ID。容器将在后台作为守护进程运行,而不是直接连接到当前终端。

  2. --name: 为容器指定一个名称,方便后续通过名称管理容器,而不是容器ID。

  3. -it 或 --interactive --tty: 以交互模式运行容器,分配一个伪TTY,并保持STDIN打开以便与容器内的命令行进行交互。

  4. -p: 端口映射,格式为 <主机端口>:<容器端口>,如 -p 8080:80 表示将主机的8080端口映射到容器的80端口。

  5. -v: 卷挂载,将宿主机的目录挂载到容器内部,如 -v /host/path:/container/path。

  6. -w: 指定容器内的工作目录。

  7. --env 或 -e: 设置环境变量,如 -e VAR_NAME=value。

  8. --entrypoint: 覆盖默认的ENTRYPOINT指令,指定容器启动时执行的入口点。

  9. --restart: 定义容器的重启策略,如 --restart always 表示容器退出时应自动重启。

  10. --net: 设置网络模式,如 --net host 表示容器使用宿主机网络栈。

  11. --gpus: (在支持GPU的Docker版本中)指定容器使用的GPU资源,如 --gpus all 表示使用所有可用GPU。

  12. --ulimit: 设置容器的资源限制,如最大文件描述符数量。

  13. --privileged: 以特权模式运行容器,容器内的进程拥有更多的Linux权限。

  14. --tmpfs: 在容器内创建临时文件系统。

  15. --ipc: 控制容器的IPC namespace,如 --ipc=host 表示容器共享宿主机的IPC资源。

  16. --security-opt: 设置容器安全相关的选项。

  17. --rm: 容器退出时自动删除容器文件系统。

  18. --volume: 类似 -v,但更详细的卷挂载选项,可以包含额外的访问模式和其他属性。

示例

在这里插入图片描述

暂停容器

命令语句

 docker pause nginx

可选参数

暂无

示例

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

每天吃八顿

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值