我有一个~300Mb压缩的本地文件,我添加到docker镜像.然后下一个状态提取图像.
问题是ADD语句导致提交,导致新的文件系统层使图像大于它需要的300Mb.
ADD /files/apache-stratos.zip /opt/apache-stratos.zip
RUN unzip -q apache-stratos.zip && \
rm apache-stratos.zip && \
mv apache-stratos-* apache-stratos
Run Code Online (Sandbox Code Playgroud)
问题:ADD本地文件是否有解决办法而不会导致提交?
一种选择是python -m SimpleHTTPServer在启动docker构建之前运行一个简单的Web服务器(例如),然后使用它wget来检索文件,但这看起来有点乱:
RUN wget http://localhost:8000/apache-stratos.zip && \
unzip -q apache-stratos.zip && \
rm apache-stratos.zip && \
mv apache-stratos-* apache-stratos
Run Code Online (Sandbox Code Playgroud)
另一个选择是在容器启动时提取压缩文件而不是构建时间,但我希望尽可能快地保持启动.