docker イメージに追加する 300Mb までの圧縮ローカル ファイルがあります。次に、次の状態で画像を抽出します。
問題は、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
質問: コミットを発生させずにローカル ファイルを追加するための回避策はありますか?
python -m SimpleHTTPServer
1 つのオプションは、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
もう 1 つのオプションは、ビルド時ではなくコンテナーの起動時に zip ファイルを抽出することですが、起動をできるだけ速く保つことをお勧めします。