在 Dockerfile
中安装后清理资源是个好主意:
FROM ubuntu:trusty
RUN \
apt-get update \
&& apt-get -y install gettext-base \
&& <commands>
&& apt-get clean \ <--- CLEAN-UP
&& rm -rf /var/lib/apt/lists/* <--- CLEAN-UP
CMD <command>
如果构建器是多阶段构建的一部分,是否还需要清理资源?或者 Docker 是否会删除多阶段构建的所有中间构建?例如,以下是否足够好?
FROM ubuntu:trusty as helper
RUN \
apt-get update \
&& apt-get -y install gettext-base \
&& <commands>
FROM ubuntu:trusty
COPY --from=helper <from> <to>
CMD <command>
最佳答案
从您的“助手”中清理资源不是强制性的,您的最终图像中不会有前几个阶段的伪影。
您可以使用 docker history [OPTIONS] IMAGE
查看每个步骤的历史记录和大小
但是,为了节省计算机空间,建议将每个阶段保存为 docker 镜像。您可以使用 docker images
命令查看图像。
关于docker - 我们需要在多阶段构建中进行清理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48640478/