我们需要在多阶段构建中进行清理吗?

时间:2018-02-06 10:14:08

标签: docker dockerfile

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>

1 个答案:

答案 0 :(得分:0)

清理您的&#34;助手的资源&#34;不是强制性的,您不会在最终图像中包含前一阶段的工件。

您可以使用docker history [OPTIONS] IMAGE

查看每个步骤的历史记录和大小

但是,为了节省机器上的空间,建议将每个阶段保存为泊坞窗图像。您可以看到docker images命令的图像。