为举例需要,我参考 Docker 官方文档创建了一个名为 friendlyhello 的 Docker 镜像,该镜像大小为 194MB(如下所示):

文章插图
你可以看到,对于一个简单的应用程序,我们必须下载 194 MB 的数据 。让我们用 docker-slim 来看看它能减掉多少脂肪 。
$ docker-slim build --http-probe friendlyhellodocker-slim 工具对胖镜像进行一系列的检查、测量,最终创建一个瘦版本的镜像 。让我们看看这个减过肥的大小吧 。

文章插图
正如你所看到的,镜像大小被减少到 24.9 MB 。你可以启动这个容器,它将以同样的方式运行 。docker-slim 工具支持 JAVA、Python、Ruby 和 Node.js 应用 。
你自己试试,看看能减下来多少 。在我的个人项目中,我发现它在大多数情况下都适用 。你可以从其文档中了解更多关于 docker-slim 的信息:
https://github.com/docker-slim/docker-slim/blob/master/README.md
GitHub 地址:
https://github.com/docker-slim/docker-slim
4、rocker:突破 Dockerfile 的限制
大多数使用 Docker 的开发人员都使用 Dockerfile 来构建镜像 。Dockerfile 是一种声明式的方法,用于定义用户可以在命令行上调用的所有命令,从而组装镜像 。
Rocker(https://github.com/grammarly/rocker)为 Dockerfile 指令集增加了新的指令 。Grammarly 为了解决他们遇到的 Dockerfile 格式的问题,创建了 Rocker 。Grammarly 团队写了一篇深入的博客,解释他们创建它的原因 。我建议你读一读,以更好地了解 Rocker 。他们在博文中强调了两个问题:
- Docker 镜像的大小 。
- 缓慢的构建速度 。
https://github.com/grammarly/rocker/blob/master/README.md
- MOUNT 用于在构建之间共享卷,以便能够被依赖项管理工具重用 。
- 在 Dockerfile 中原本已有 FROM 指令 。而 Rocker 使我们可以添加一条以上的 FROM 指令 。这意味着你可以通过单个 Rockerfile 创建多个镜像 。第一批指令用于构建产品所有的依赖;第二批指令用于构建产品;这能够极大地降低镜像大小 。
- TAG 用于在构建的不同阶段标识镜像,这意味着你不必手动为每个镜像打标签 。
- PUSH 用于将镜像推送到镜像仓库 。
- ATTACH 使你能够交互式地运行中间步骤 。这一点对于调试非常有用 。
$ brew tap grammarly/tap$ brew install grammarly/tap/rocker一旦完成安装,你就可以通过传递 Rockerfile 使用 Rocker 来构建镜像了:
FROM python:2.7-slimWORKDIR /AppADD . /appRUN pip install -r requirements. txtEXPOSE 80ENV NAME WorldCMD ["python","app.Py"]TAG shekhargulati/ friendlyhello:{{ .VERSION }}PUSH shekhargulati/friendlyhello:{{ .VERSION }}若要构建一个镜像并将其推送到 Docker Hub,你可以运行以下命令:
$ rocker d build --push -var VERSION-1.0GitHub 地址:
https://github.com/grammarly/rocker
5、ctop:容器的类顶层接口
ctop 是我最近开始使用的一个工具,它能够提供多个容器的实时指标视图 。如果你是一个 Mac 用户,可以使用 brew 安装,如下所示:
$ brew install ctop一旦完成安装,就可以开始使用 ctop 了 。现在,你只需要配置 DOCKER_HOST 环境变量 。
你可以运行 ctop 命令,查看所有容器的状态 。

文章插图
若只想查看正在运行的容器,可以使用 ctop -a 命令 。
ctop 是一个简单的工具,对于了解在你的主机上运行的容器很有帮助 。你可以在 ctop 文档中了解更多相关信息:
https://github.com/bcicen/ctop/blob/master/README.md
GitHub 地址:
https://github.com/bcicen/ctop
以上是我发现的很有用的 5 款 Docker 工具 。你在日常工作中使用 Docker 工具吗?希望这些工具能够为你带来帮助,也欢迎在评论中推荐你觉得有用的工具 。
【推荐5款好用的开源 Docker 工具】
推荐阅读
- 一篇文章推荐量1.3亿,500多万阅读量,爆文背后的“秘诀”是什么
- 给微商好友们:这样发朋友圈,谁还会屏蔽你啊?
- 古人常用的几种茶疗养生方推荐
- 皮床十大品牌排名 皮床十大品牌推荐
- 名人话茶,会喝好茶是种清福
- 欧普护眼灯好吗 欧普护眼灯价格
- 史上最好看的婚纱照姿势推荐
- 夏至节气驾到 做好五点轻松过夏
- 梦见准备演出暗示什么? 梦见准备演出可还没准备好
- 春分养生好时节 这些习俗切不可忘记
