ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Docker 运维实用 100 条命令(建议收藏)

2026/8/8 18:28:14 拓冰建站 浏览量
Docker 运维实用 100 条命令(建议收藏)

👋 我是三笠丶,一名专注数据库与数据库架构的 DBA。更多原创文章和技术资料同步更新:ora100.com

本文整理 Docker Engine、BuildKit、Compose、网络、存储、镜像仓库和日常排障常用的 100 条命令。示例以现代对象式子命令为主,同时保留少量常见短命令。

删除容器、镜像、卷和执行 prune 可能造成数据丢失;将用户加入 docker 组等同于授予较高主机权限,生产环境应配合最小权限和审计。

一、环境与信息

1. 查看客户端版本

docker --version

2. 查看客户端和服务端版本

docker version

3. 查看系统信息

docker info

4. 查看 Docker 帮助

docker --help

5. 查看磁盘使用

docker system df

6. 查看详细磁盘使用

docker system df -v

7. 查看事件流

docker events

8. 查看最近一小时事件

docker events --since 1h

9. 查看 daemon 状态

systemctl status docker --no-pager

10. 查看 daemon 日志

journalctl -u docker -n 200 --no-pager

二、镜像管理

11. 列出镜像

docker image ls

12. 拉取镜像

docker image pull nginx:1.29

13. 查看镜像详情

docker image inspect nginx:1.29

14. 查看镜像历史

docker image history --no-trunc nginx:1.29

15. 给镜像打标签

docker image tag app:v1 registry.example.com/team/app:v1

16. 登录镜像仓库

printf '%s' "$REGISTRY_PASSWORD" | docker login registry.example.com -u "$REGISTRY_USER" --password-stdin

17. 推送镜像

docker image push registry.example.com/team/app:v1

18. 保存镜像

docker image save -o app-v1.tar app:v1

19. 加载镜像

docker image load -i app-v1.tar

20. 删除镜像

docker image rm app:v1

三、容器创建与运行

21. 运行临时容器

docker container run --rm alpine:3.22 echo hello

22. 后台运行容器

docker container run -d --name web -p 8080:80 nginx:1.29

23. 交互运行容器

docker container run --rm -it ubuntu:24.04 bash

24. 设置环境变量

docker container run --rm -e APP_ENV=prod app:v1

25. 从文件加载环境变量

docker container run --rm --env-file .env app:v1

26. 绑定挂载目录

docker container run -d --name web -v "$PWD/html:/usr/share/nginx/html:ro" nginx:1.29

27. 使用命名卷

docker container run -d --name db -v db-data:/var/lib/postgresql/data postgres:18

28. 设置自动重启策略

docker container run -d --restart=unless-stopped --name api app:v1

29. 设置 CPU 限制

docker container run -d --cpus=2 --name api app:v1

30. 设置内存限制

docker container run -d --memory=1g --memory-swap=1g --name api app:v1

四、容器生命周期

31. 查看运行容器

docker container ls

32. 查看全部容器

docker container ls -a

33. 启动容器

docker container start web

34. 优雅停止容器

docker container stop --timeout 30 web

35. 重启容器

docker container restart web

36. 暂停容器

docker container pause web

37. 恢复容器

docker container unpause web

38. 重命名容器

docker container rename web web-old

39. 等待容器退出

docker container wait batch-job

40. 删除已停止容器

docker container rm web-old

五、日志与容器排障

41. 查看容器日志

docker container logs web

42. 实时追踪日志

docker container logs -f --tail 100 web

43. 查看最近十分钟日志

docker container logs --since 10m web

44. 进入运行中容器

docker container exec -it web sh

45. 以指定用户执行

docker container exec -u 0 web id

46. 查看容器进程

docker container top web

47. 查看资源使用

docker container stats

48. 查看单个容器统计

docker container stats --no-stream web

49. 查看容器变更文件

docker container diff web

50. 导出容器文件系统

docker container export -o web-rootfs.tar web

六、检查、复制与健康

51. 查看容器详情

docker container inspect web

52. 获取容器 IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web

53. 查看健康状态

docker inspect -f '{{json .State.Health}}' web | jq

54. 查看退出码

docker inspect -f '{{.State.ExitCode}}' batch-job

55. 查看挂载点

docker inspect -f '{{json .Mounts}}' web | jq

56. 复制文件到容器

docker container cp app.conf web:/etc/app/app.conf

57. 从容器复制文件

docker container cp web:/var/log/nginx/error.log ./error.log

58. 查看端口映射

docker container port web

59. 发送信号

docker container kill --signal=HUP web

60. 更新资源限制

docker container update --cpus=2 --memory=1g web

七、构建镜像

61. 构建镜像

docker build -t app:v1 .

62. 指定 Dockerfile

docker build -f docker/Dockerfile -t app:v1 .

63. 禁用构建缓存

docker build --no-cache -t app:v1 .

64. 传入构建参数

docker build --build-arg VERSION=1.2.3 -t app:v1 .

65. 输出详细构建日志

docker build --progress=plain -t app:v1 .

66. 查看 Buildx Builder

docker buildx ls

67. 创建 Buildx Builder

docker buildx create --name multiarch --use

68. 构建多架构镜像

docker buildx build --platform linux/amd64,linux/arm64 -t registry.example.com/team/app:v1 --push .

69. 查看镜像清单

docker buildx imagetools inspect registry.example.com/team/app:v1

70. 清理构建缓存

docker builder prune

八、网络管理

71. 列出网络

docker network ls

72. 创建 bridge 网络

docker network create app-net

73. 创建指定网段

docker network create --subnet 172.30.0.0/24 app-net

74. 查看网络详情

docker network inspect app-net

75. 连接容器到网络

docker network connect app-net web

76. 断开容器网络

docker network disconnect app-net web

77. 使用 Host 网络

docker run --rm --network host alpine:3.22 ip address

78. 使用无网络模式

docker run --rm --network none alpine:3.22 ip address

79. 删除网络

docker network rm app-net

80. 清理未使用网络

docker network prune

九、卷与 Compose

81. 列出卷

docker volume ls

82. 创建卷

docker volume create db-data

83. 查看卷详情

docker volume inspect db-data

84. 备份命名卷

docker run --rm -v db-data:/data:ro -v "$PWD:/backup" alpine:3.22 tar -czf /backup/db-data.tar.gz -C /data .

85. 删除卷

docker volume rm db-data

86. 校验 Compose 配置

docker compose config -q

87. 启动 Compose 项目

docker compose up -d

88. 查看 Compose 服务

docker compose ps

89. 查看 Compose 日志

docker compose logs -f --tail=100

90. 停止 Compose 项目

docker compose down

十、上下文、安全与清理

91. 查看 Docker Context

docker context ls

92. 创建 SSH Context

docker context create prod --docker host=ssh://ops@docker.example.com

93. 切换 Context

docker context use prod

94. 查看镜像摘要

docker image inspect --format='{{json .RepoDigests}}' app:v1

95. 查看容器能力和安全选项

docker inspect -f '{{json .HostConfig.CapAdd}} {{json .HostConfig.SecurityOpt}}' web

96. 只读根文件系统运行

docker run --rm --read-only --tmpfs /tmp app:v1

97. 移除全部 Linux capabilities

docker run --rm --cap-drop ALL app:v1

98. 预览可清理空间

docker system df -v

99. 清理停止容器

docker container prune

100. 清理未使用资源

docker system prune

默认不删除未使用命名卷;执行前仍应确认清理清单。

总结

Docker 运维应围绕镜像可追溯、容器资源限制、日志轮转、网络隔离、卷备份和最小权限展开。生产清理前先运行 docker system df -v,并避免依赖容器可写层保存持久数据。

DBA 资源导航

  • ora100.com · 数据库学习平台
  • Oracle DBA 应该掌握的 100 条命令(建议收藏)
  • MySQL DBA 应该掌握的 100 条命令(建议收藏)
  • PostgreSQL DBA 应该掌握的 100 条命令
  • SQL Server DBA 实用的 100 条命令(建议收藏)
  • 达梦 DBA 应该掌握的 100 条命令(建议收藏)
  • OceanBase DBA 应该掌握的 100 条命令(建议收藏)
  • MongoDB DBA 应该掌握的 100 条命令(建议收藏)

更多 Oracle、MySQL、PostgreSQL、MongoDB 实战内容,可以访问 DBA 学习平台:ora100.com

感谢阅读。
我会持续分享 Oracle、GoldenGate、RAC、Data Guard、MySQL、PostgreSQL、OceanBase、电科金仓等数据库技术文章。
个人网站:ora100.com