Docker用久了才知道:这3个开源工具让我省了大把运维时间

lxiol
📝
Docker 三阶段痛点对应三个开源工具:lazydocker 容器 TUI 管理、dive 镜像分层可视化、docker-slim 镜像自动瘦身。三个工具无功能重叠,组合成完整的 Docker 优化链路。

原文:小码 · 微信公众号

用 Docker 的过程,大致分三个阶段:
第一阶段:真香。一个命令跑起来,环境问题全没了。
第二阶段:镜像越来越大。一个 Python 镜像 1.2G,部署一次等半天。
第三阶段:容器越来越多。docker ps 列出来二十几个,不知道哪个在干嘛,想停不敢停,想删不敢删。
今天介绍 3 个 GitHub 上的开源工具,专门解决这三个阶段的痛点——
lazydocker、dive、docker-slim

  1. 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

  1. 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

  1. 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
2
3
开发期 → dive(诊断镜像为什么大)
部署前 → docker-slim(自动瘦身 10-50x)
运行期 → lazydocker(TUI 管理多容器)

实战要点

  • 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 进行许可。