我已经使用 Docker 一段时间了,但我没有 IT 背景。
\n现在,我正在努力了解如何通过优化 Dockerfile 来最小化 docker 映像的大小。从这个意义上说,我遇到了一个我不理解的最小可重现案例。如果有人可以分享他的想法或提供解释,我将非常高兴。
\n我从官方 centos:7 映像(7e6257c9f8d8;203MB)开始。然后,我准备以下 Dockerfile:
\nFROM centos:7\nRUN yum -y install nano && yum -y clean all && rm -fr /var/cache\nRUN yum -y install which && yum -y clean all && rm -fr /var/cache\nRUN yum -y install which && yum -y clean all && rm -fr /var/cache\nRun Code Online (Sandbox Code Playgroud)\n这个想法是安装任何轻量级包并评估对图像大小的影响。为此,我首先安装nano,然后安装不同的标签。我添加了额外的安装尝试(这表明没有什么可做的)。此外,我添加了yum clean all语句来清理 yum 缓存,并且为了以防万一(即使我刚刚检查了如果删除此命令,实验结果不会改变),我删除了 /var/cache 目录(在基础图像)。
\n结果如下:
\nIMAGE CREATED CREATED BY SIZE …Run Code Online (Sandbox Code Playgroud)