我有一個〜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