Docker 命令速查与资源汇总
本教程共 25 篇 · 第 25 篇 · 更新于 2026-07-26 · 约 7 分钟阅读
25. Docker 命令速查与资源汇总
本节目标:把全书用到的命令按类别整理成速查表,方便日后查阅;给出官方资源和继续学习的路径。
怎么用这张速查表
这一章是工具书性质的,不用从头读。日常用 Docker 时忘了某个命令的参数,按类别查表就行。
每条命令给「用途 + 最常用形式」,不堆全部参数。想看完整参数用 docker <命令> --help,或者查官方 reference。
Tipv2 命令格式统一成了
docker <对象> <动作>,比如docker image ls、docker container rm。老写法docker images、docker rm仍然兼容,但建议养成新习惯,语义更清晰。
镜像命令速查
| 命令 | 作用 | 常用示例 |
|---|---|---|
docker pull | 拉取镜像 | docker pull nginx:1.27-alpine |
docker images | 列出本地镜像 | docker images / docker image ls |
docker rmi | 删除镜像 | docker rmi nginx:1.27 |
docker tag | 给镜像打标签 | docker tag myapp:1.0 myrepo/myapp:1.0 |
docker build | 从 Dockerfile 构建镜像 | docker build -t myapp:1.0 . |
docker image history | 查看镜像分层历史 | docker image history myapp:1.0 |
docker image inspect | 查看镜像详细信息 | docker image inspect nginx:1.27 |
docker save | 导出镜像为 tar 文件 | docker save -o app.tar myapp:1.0 |
docker load | 从 tar 文件导入镜像 | docker load -i app.tar |
docker image prune | 清理悬空镜像 | docker image prune -a |
docker search | 在 Hub 搜索镜像 | docker search nginx |
docker push | 推送镜像到仓库 | docker push myrepo/myapp:1.0 |
docker login | 登录镜像仓库 | docker login |
Note
docker build -t 名字 .最后那个.是构建上下文路径,别漏。-t给镜像起名,格式是仓库/镜像:标签。
容器命令速查
| 命令 | 作用 | 常用示例 |
|---|---|---|
docker run | 创建并启动容器 | docker run -d --name web -p 8080:80 nginx |
docker create | 创建容器不启动 | docker create --name web nginx |
docker start | 启动已停止的容器 | docker start web |
docker stop | 优雅停止容器 | docker stop web |
docker restart | 重启容器 | docker restart web |
docker kill | 强制终止容器 | docker kill web |
docker rm | 删除已停止的容器 | docker rm web |
docker ps | 列出运行中的容器 | docker ps / docker ps -a 看全部 |
docker inspect | 查看容器详情 | docker inspect web |
docker logs | 查看容器日志 | docker logs -f --tail 100 web |
docker exec | 在运行中容器执行命令 | docker exec -it web bash |
docker attach | 连接到容器主进程 | docker attach web |
docker cp | 容器与宿主机互拷文件 | docker cp web:/etc/nginx/nginx.conf . |
docker top | 查看容器内进程 | docker top web |
docker stats | 实时资源占用 | docker stats |
docker port | 查看端口映射 | docker port web |
docker rename | 重命名容器 | docker rename web web1 |
docker container prune | 清理停止的容器 | docker container prune |
docker run 是用得最多的,常用参数组合:
docker run -d \ # 后台运行
--name myapp \ # 容器名
-p 8080:80 \ # 端口映射
-v $(pwd)/data:/data \ # 挂载目录
-e ENV_KEY=value \ # 环境变量
--restart unless-stopped \ # 重启策略
--network mynet \ # 加入网络
myimage:1.0
Tip
docker ps -a看所有容器(包括停止的),docker ps -q只输出 ID(配合脚本用)。docker rm -f强制删除运行中的容器,慎用。
网络命令速查
| 命令 | 作用 | 常用示例 |
|---|---|---|
docker network ls | 列出所有网络 | docker network ls |
docker network create | 创建网络 | docker network create mynet |
docker network rm | 删除网络 | docker network rm mynet |
docker network inspect | 查看网络详情 | docker network inspect mynet |
docker network connect | 把容器加入网络 | docker network connect mynet web |
docker network disconnect | 把容器移出网络 | docker network disconnect mynet web |
docker network prune | 清理未使用网络 | docker network prune |
Docker 默认三个网络:
bridge:默认桥接网络,容器间隔离。host:与宿主机共享网络栈,无端口映射。none:无网络。
Note自定义 bridge 网络相比默认 bridge 有两个好处:自带 DNS 解析(容器间能用名字互访)、隔离性更好。生产环境别用默认 bridge,建自己的网络。
卷命令速查
| 命令 | 作用 | 常用示例 |
|---|---|---|
docker volume create | 创建数据卷 | docker volume create mydata |
docker volume ls | 列出所有卷 | docker volume ls |
docker volume inspect | 查看卷详情 | docker volume inspect mydata |
docker volume rm | 删除卷 | docker volume rm mydata |
docker volume prune | 清理未使用卷 | docker volume prune |
挂载方式两种:
# 命名卷(Docker 管理)
docker run -v mydata:/data myimage
# bind mount(直接挂宿主机目录)
docker run -v /path/on/host:/data myimage
# 推荐的 --mount 写法(更明确)
docker run --mount type=volume,source=mydata,target=/data myimage
docker run --mount type=bind,source=/path/on/host,target=/data myimage
Warning
docker volume prune会删掉所有没被容器使用的卷,数据库数据可能就此丢失。执行前确认,或加-f跳过确认但要心里有数。
Compose 命令速查
所有 Compose 命令都要在 compose.yaml 所在目录执行。
| 命令 | 作用 | 常用示例 |
|---|---|---|
docker compose up | 拉起服务 | docker compose up -d |
docker compose down | 停止并删除容器网络 | docker compose down |
docker compose ps | 查看服务状态 | docker compose ps |
docker compose logs | 查看日志 | docker compose logs -f app |
docker compose exec | 进入容器 | docker compose exec app bash |
docker compose build | 构建镜像 | docker compose build --no-cache |
docker compose start | 启动已停止的服务 | docker compose start |
docker compose stop | 停止服务 | docker compose stop |
docker compose restart | 重启服务 | docker compose restart mysql |
docker compose pull | 拉取最新镜像 | docker compose pull |
docker compose config | 校验并查看合并后配置 | docker compose config |
docker compose top | 查看各服务进程 | docker compose top |
docker compose ls | 列出所有 Compose 项目 | docker compose ls |
常用组合:
# 改代码后重新构建并启动
docker compose up -d --build
# 连数据卷一起清掉
docker compose down --volumes
# 指定文件
docker compose -f compose.prod.yaml up -d
# 指定 profile
docker compose --profile test up -d
Tip
docker compose config很有用,能看到 Compose 解析后(含变量插值、覆盖文件合并)的最终配置。排查「为什么配置没生效」时第一个跑它。
系统与清理命令
| 命令 | 作用 |
|---|---|
docker version | 查看 Docker 版本 |
docker info | 查看 Docker 系统信息 |
docker system df | 查看磁盘占用 |
docker system prune | 一键清理(停止的容器、悬空镜像、未用网络) |
docker system prune -a --volumes | 深度清理(连没用过的镜像和卷都删) |
docker scout cves | 镜像漏洞扫描 |
Warning
docker system prune -a --volumes是核弹级清理,所有不在运行的镜像、所有没挂载的卷全删。执行前务必确认没有重要数据。
官方资源
学习和查阅时优先官方:
| 资源 | 链接 | 用途 |
|---|---|---|
| Docker 官方文档 | https://docs.docker.com/ | 权威参考,遇到问题第一站 |
| Docker Hub | https://hub.docker.com/ | 镜像仓库,看官方镜像用法 |
| Docker 官方博客 | https://www.docker.com/blog/ | 新版本特性发布 |
| Docker Engine release notes | https://docs.docker.com/engine/release-notes/ | 版本变更记录 |
| Docker CLI reference | https://docs.docker.com/reference/cli/ | 命令完整参数 |
| Dockerfile reference | https://docs.docker.com/reference/dockerfile/ | Dockerfile 指令详解 |
| Compose file reference | https://docs.docker.com/compose/compose-file/ | compose.yaml 字段详解 |
| Docker GitHub | https://github.com/moby/moby | 源码和 issue |
| Docker CLI 速查 PDF | https://docs.docker.com/get-started/docker_cheatsheet.pdf | 官方命令速查卡 |
国内镜像加速
国内拉 Docker Hub 镜像慢,配置加速器能显著改善。编辑 /etc/docker/daemon.json(Linux)或 Docker Desktop 设置里配:
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.1ms.run"
]
}
Warning中科大 USTC、清华 TUNA、网易 163 等老牌源已停止同步 Docker Hub,别再配了。详见第 5 章。
改完重启 Docker 服务:
# Linux
sudo systemctl restart docker
Note阿里云、腾讯云都提供专属加速器,登录控制台找「容器镜像服务」 -> 镜像加速器,会给你一个专属地址。这个比公共加速器更稳定。
配置完用docker info看Registry Mirrors字段,确认生效。
国内镜像仓库(推自有镜像用):
- 阿里云容器镜像服务(ACR):https://cr.console.aliyun.com/
- 腾讯云镜像仓库(TCR):https://console.cloud.tencent.com/tcr
继续学习的路径
这套教程覆盖了 Docker 入门到进阶的核心知识。接下来往哪走?给几个方向:
方向一:把基础打更牢
回头把官方 get-started 走一遍(https://docs.docker.com/get-started/),配合本教程查漏补缺。官方有个 workshop,手把手带做一个多容器应用。
方向二:Docker Compose 深入
Compose 还有很多没讲:docker compose watch(文件变化自动重建)、Compose Watch、多平台构建。官方 Compose 文档值得通读一遍。
方向三:构建与发布流水线
学 BuildKit 的高级特性(缓存后端、secret 挂载、SSH 转发),再结合 GitHub Actions / GitLab CI 做自动构建推送。
方向四:容器编排
单机编排用 Compose 够了,多机就要上 Kubernetes 或 Docker Swarm。建议先了解概念,再选一个深入:
- Kubernetes:业界标准,生态最大,学习曲线陡,但值得投入。
- Docker Swarm:Docker 原生,简单轻量,小规模够用。
Tip别一上来就冲 Kubernetes。先把 Docker 单机和 Compose 用熟,遇到「一台机器扛不住」的真实需求再上 K8s,否则容易陷入「为了用 K8s 而用 K8s」。
方向五:容器安全
深入学习镜像签名、运行时隔离(gVisor、Kata Containers)、镜像扫描自动化、最小权限原则。这块官方有 Docker Scout 文档和 Security 文档。
推荐书籍和课程
| 资源 | 作者 | 说明 |
|---|---|---|
| Docker Deep Dive | Nigel Poulton | 经典入门书,年年更新 |
| Docker in Action(2nd) | Jeff Nickoloff | 实战导向 |
| Learn Docker in a Month of Lunches | Elton Stoneman | 30 天午餐学习法 |
| The Kubernetes Book | Nigel Poulton | 学 K8s 时配套 |
| Bret Fisher Docker Mastery | Bret Fisher | Udemy 高分视频课 |
| 官方 hands-on training | Docker 团队 | 免费,地址见 25.8 |
NoteDocker 官方有个「Docker Captain」社区,是一批被认证的专家。上面这些作者大多是的 Captain,内容质量有保障。买书前看看出版年份,Docker 迭代快,太老的书可能过时。
学习心法
最后分享几条学 Docker 的心得,少走点弯路:
多动手,少收藏。Docker 是工具类技术,看十遍文档不如自己跑一遍命令。建个测试目录,把每个命令都敲一遍。
理解原理,别背命令。命令忘了一查就有,原理不懂则处处卡壳。重点是镜像分层、容器隔离、网络模型这几个底层概念。
看官方镜像的 Dockerfile。Docker Hub 官方镜像的 Dockerfile 都是最佳实践的活教材。比如 nginx、postgres、redis 的 Dockerfile,看人家怎么处理初始化、信号、用户权限。
版本敏感。Docker 这两年迭代很快(v28、v29 大版本),网上的老教程可能基于 v17、v20,命令和行为有差异。遇到不对的地方,先确认版本,再查对应文档。
别过度容器化。不是所有东西都该塞进容器。有状态服务(数据库)容器化要慎重,本地开发用用可以,生产环境托管服务(云数据库)往往更省心。
Tip遇到报错别慌,三步排查:
docker logs <容器>看日志、docker inspect <容器>看配置、docker events看守护进程事件。90% 的问题这三步能定位。
全书回顾
这套 25 章教程到这里就结束了。简单回顾一下路线:
- 入门篇(1-5):概念、架构、安装、镜像加速。
- 基础操作篇(6-10):跑容器、生命周期、日志、镜像操作、进入容器。
- 镜像构建篇(11-15):Dockerfile、指令、构建缓存、多阶段、镜像共享。
- 数据网络篇(16-19):数据卷、bind mount、网络基础、容器互联。
- 编排篇(20-22):Compose 入门、命令配置、进阶特性。
- 进阶篇(23-25):常用服务容器化、构建最佳实践、命令速查。
整套教程基于 Docker Engine 29.6.2,覆盖了 0 基础到能独立用 Docker 解决日常开发问题的全部知识点。Docker 是后面学 K8s 和 CI/CD 的基础,掌握它,往哪个方向走都更顺。
祝你容器化顺利。