我如何将Docker映像减少55%

较小的Docker映像具有各种优势,其中一个优点是,将应用程序部署到新位置或将更新的映像部署到现有应用程序时,下载速度更快。 能够快速更新图像非常重要。 除此之外,保持图像清洁且不膨胀对于正常工作和响应容器很重要。 继续阅读以了解如何将docker映像从1.04gb减少到555mb。

我开始的包太多

话虽如此,我首先从一个非常肿的Ubuntu 18.04基本映像开始作为我的主要docker映像。 该映像包含许多调试程序包,而我只是简单地不再使用的程序包。 这导致生成的映像为1.04gb,这相当大,尤其是对于服务网络中的单个组件而言。 我注意到许多进程要么随着时间的流逝而变慢,要么比我预期的要慢。

因此,通过互联网搜索提高性能的方法时,我发现可以立即应用三个简单的解决方案,这些解决方案使图像尺寸减小了55%。 这些曾经是:

使用较小的基本图像

使用比完整的ubuntu:18.04映像小的基本映像。 由于Ubuntu很大程度上基于Debian,所以我认为合理的选择是使用debian:9.7 。 仅此一项更改就使图像大小减小到860mb。 这已经是一个巨大的减少,但是我还不满意。 将其更改为debian:9.7-slim时 ,图像为600mb,这是另一个巨大的减少。

清洁您的装置

解决该问题的第二种方法是使用apt-get install命令简单地清除所有临时文件。 这减少了图像的大小,但是没有减少很多,这为我节省了约20mb,因此现在的大小为580mb。 要利用此优势,请将以下命令添加到每个apt-get install命令中,这将删除所有临时文件。

apt-get clean && rm -rf /var/lib/apt/lists/\* /tmp/\* /var/tmp/* 

不要安装推荐的软件包

您的操作系统喜欢非常简单地安装软件包,但是安装所有推荐的软件包都需要在没有任何问题的情况下也可以在docker映像中运行。 您可以禁用它,确实应该禁用它。 通过在apt-get安装命令中添加— no-install-recommends标志,它将仅安装运行所需的最少资源。 这意味着您可能必须手动安装一些软件包,但是却摆脱了许多过时软件。 这使我的图像大小减小到最终的555mb。

您还有进一步减少docker映像的更多技巧吗? 确保在Twitter上与我联系! 我始终可以在这些问题上使用建议,因为我每天仍在学习新事物。

发表于:2019年2月28日