Docker用久了才知道:这3个开源工具让我省了大把运维时间
Docker 三阶段痛点对应三个开源工具:lazydocker 容器 TUI 管理、dive 镜像分层可视化、docker-slim 镜像自动瘦身。三个工具无功能重叠,组合成完整的 Docker 优化链路。
原文:小码 · 微信公众号
用 Docker 的过程,大致分三个阶段:
第一阶段:真香。一个命令跑起来,环境问题全没了。
第二阶段:镜像越来越大。一个 Python 镜像 1.2G,部署一次等半天。
第三阶段:容器越来越多。docker ps 列出来二十几个,不知道哪个在干嘛,想停不敢停,想删不敢删。
今天介绍 3 个 GitHub 上的开源工具,专门解决这三个阶段的痛点——
lazydocker、dive、docker-slim
。
- lazydocker:容器太多?用终端UI管理
GitHub:
https://github.com/jesseduffield/lazydocker
Star:52万+
当你容器数量超过 5 个,docker ps 就开始不够用了。
lazydocker 做了一件很简单的事——给 docker 命令行加了一个交互界面。
启动之后,左边列出所有容器和镜像,右边显示选中项的实时日志、状态、资源占用。
你能做的操作:
好处是:之前要敲好几个 docker 命令才能查到的东西,现在一个界面全看到了。
而且它是纯键盘操作的——vim 党应该会很顺手。
macOSbrew install lazydocker
Linuxcurl -L https://git.io/lazydocker | sh # 直接运行lazydocker
- dive:镜像每一层到底装了什么,一眼看清楚
GitHub:
https://github.com/wagoodman/dive
Star:54万+
你的镜像为什么 800MB?
可能一半是你不需要的依赖,一半是构建缓存。但 docker history 给你的只是一串命令,看不出具体塞了什么文件。
dive 做的事情是:让你像翻文件夹一样,浏览镜像每一层的目录结构。
左边是镜像的层(Layer)列表,每一层带了大小和构建命令。
右边是对应这一层加进去 / 删除掉的文件。文件按大小排序,最大文件一目了然。
还有一个很实用的功能:分析镜像空间浪费程度。
dive 会给出一个”效率分数”,告诉你这个镜像有多少空间是被无效文件占用的。然后它会对比”实际需要哪些文件”,给出精简建议。
适合场景:
想搞清楚哪个 RUN 命令把镜像撑大的
部署前想精简镜像,不想靠经验盲猜
学习别人的 Dockerfile,看每一步装了什么
macOSbrew install dive # Linuxcurl -L https://git.io/dive | sh # 分析任意镜像dive nginx:latest
- docker-slim:你的镜像可以小10倍
GitHub:https://github.com/
slimtoolkit/slim
Star:23万+
这是今天三个工具里,效果最直观的一个。
docker-slim 通过动态分析容器运行时的真实行为,自动识别”哪些文件是真实用到的”,然后把不需要的全部删掉。
官方给了几个数据:
一个 Node.js 应用镜像从 1.1GB → 19MB
一个 Go 服务从 950MB → 2.4MB
一个 Python 应用从 1.2GB → 13MB
原理不复杂:
实际操作只需要一行命令:
安装curl -L https://git.io/slim | sh
精简一个已有镜像docker-slim build –httpcheck your-image:tag # 精简同时开启探针(让工具更准确地识别依赖)docker-slim build –target your-image:tag –tag your-image:slimmed
生成的新镜像名字默认是 your-image.slimmed,可以自己指定 tag。
注意:不是所有镜像都能缩得这么夸张——如果你的应用确实用到了大量动态库或者资源文件,效果会打折扣。但对于大部分 Web 服务、API 服务、微服务来说,几十倍的压缩很常见。
三个工具怎么选
三个工具解决的问题各不相同,没有功能重叠,建议按需安装。
如果三个都装上来——lazydocker 用来管理,dive 用来诊断,docker-slim 用来优化——一条完整的 Docker 镜像优化链路就齐了。
GitHub 地址都放在上面了,brew 一行装完,跑一下感受最明显。
💡 补充点评
GitHub 数据校正:原文写「52万/54万/23万 star」,实际数字是 5.2 万 / 5.4 万 / 2.3 万(k 被误写成万)。经 API 验证(2026-07-21):
| 工具 | 实际 stars | 语言 | 定位 |
|---|---|---|---|
| lazydocker | 52,110 | Go | 容器 TUI 管理 |
| dive | 54,345 | Go | 镜像分层可视化 |
| slim (docker-slim) | 23,347 | Go | 镜像自动瘦身 |
三工具协作链路:
1 | 开发期 → dive(诊断镜像为什么大) |
实战要点:
- dive 的效率分数:会告诉你镜像里有多少空间被无效文件占用,并对比「实际需要哪些文件」给出精简建议——比
docker history实用得多 - docker-slim 原理:动态分析容器运行时真实行为,识别「哪些文件被真实用到」,删除其余。官方数据:Node 1.1GB→19MB、Go 950MB→2.4MB、Python 1.2GB→13MB
- docker-slim 边界:如果应用确实用大量动态库或资源文件,效果打折扣;对 Web/API/微服务压缩比最常见
- lazydocker 作者:jesseduffield 也是 lazygit(70k+ star)的作者,TUI 功底扎实
适合谁:日常 Docker 使用者,尤其是镜像越来越大、容器越来越多的中期阶段用户。三个都是 brew 一行装完,零学习成本。
- 标题: Docker用久了才知道:这3个开源工具让我省了大把运维时间
- 作者: lxiol
- 创建于 : 2026-07-21 00:00:00
- 更新于 : 2026-07-21 18:38:34
- 链接: https://blog.lxiol.cn/2026/07/21/docker-3-tools-lazydocker-dive-slim/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。