我使用debian作为父映像创建了一个Docker映像。在我的Dockerfile中,我使用apt和pip安装了一些依赖项。
现在,我想摆脱运行我的应用程序所需要的所有不完全必要的东西,这当然需要安装依赖项。
现在,在安装依赖项之后,我的Dockerfile中有以下行。
RUN rm -rf /var/lib/apt/lists/* \
&& rm -Rf /usr/share/doc && rm -Rf /usr/share/man \
&& apt-get clean我还使用--no-install-recommends选项安装了依赖项。
我还能做些什么来减少码头形象的足迹?
PS:以防万一,我就是这样安装依赖项的:
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
sudo systemd \
build-essential libffi-dev libssl-dev \
python-pip python-dev python-setuptools python-wheel发布于 2018-02-05 02:41:37
要缩小图像的大小,需要将RUN命令组合成一个。当您在一个层中创建文件并在另一个层中删除它们时,这些文件仍然存在于驱动器上,并通过网络传送。当文件系统的层为您的容器组装时,它们的存在就会被隐藏起来。
Dockerfile最佳实践更详细地解释了这一点:最佳实践/运行
我还建议使用docker build --rm=false --no-cache .构建(临时),然后查看每个创建的映像上的docker diff输出,以查看在每个层中创建了哪些文件。
https://stackoverflow.com/questions/48611838
复制相似问题