我正在创建一个容器映像,其中安装了两个大型(10GB)应用程序。我目前正在使用:
COPY <installer.file> <dest>
RUN <install application> \
&& rm <application installer file>
但是,我的印象是,如果我能够做到以下几点:
RUN cp <installer files from host> \
&& <install application> \
&& rm <application installer file>
我的图像文件会小很多。 (为澄清起见,这将删除其中包含安装程序文件的层。)
我知道直到构建过程结束才挂载卷-还有其他方法可以做到吗?
答案 0 :(得分:1)
您可以使用多阶段构建:
FROM some_image as build
COPY <installer.file> <dest>
RUN <install application> \
&& rm <application installer file>
FROM some_image
COPY --from=build / /
这样,您的最终映像将仅包含已安装的应用程序,而没有中间层。
在最后一行中,您还可以仅复制实际安装了应用程序的此文件夹。