【Docker】ADDとCOPYについて
Dockerfile を書くベスト・プラクティス — Docker-docs-ja 17.06.Beta ドキュメント
要約
- 一般的には
COPY
が望ましい。 COPY
はローカルファイルをコンテナの中にコピーするという、基本的な機能しかサポートされていない。- 一方で
ADD
はローカル上でのtarアーカイブ展開やリモートURLのサポートを持つ。 ADD
のベストな使い方はローカルのtarファイルをイメージに自動展開する用途。- イメージサイズの問題から、
ADD
でリモートURL上のパッケージを取得するのは可能な限り避けた方が良い。 - 代わりに
curl
やwget
を使うべきで、これにより展開後に不要となったファイルを削除でき、イメージに余分なレイヤを増やさない。