我有一个〜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
问题:是否有变通方法来添加本地文件,而不会造成提交?
一个选项是运行一个简单的Web服务器(例如python -m SimpleHTTPServer
)启动泊坞窗构建,然后用wget
检索文件,但似乎有点混乱之前:
RUN wget http://localhost:8000/apache-stratos.zip && \
unzip -q apache-stratos.zip && \
rm apache-stratos.zip && \
mv apache-stratos-* apache-stratos
另一种选择是在容器启动而不是构建时提取压缩文件,但我宁愿尽可能快地保持启动。
似乎并不解压'在泊坞1.2.0 .zip'文件。 – 2014-09-02 02:56:22
“如果[SRC]是识别的压缩格式的本地tar归档文件(身份,gzip的,bzip2的或XZ)然后将其解压缩为一个目录”。 – 2014-09-02 10:34:23
缺少'.zip'文件支持添加的事实似乎是一个预期的决定:https://github.com/docker/docker/issues/15036 – jap1968 2017-01-17 08:30:17