COPY
Dockerfile 内の コマンドとコマンドの違いは何ですかADD
? また、どちらを使用するのが適切でしょうか?
COPY <src> <dest>
COPY命令は
<src>
、コンテナのファイルシステムのパスから新しいファイルをコピーして追加します。<dest>
ADD <src> <dest>
ADD 命令は、新しいファイルをコピーし
<src>
、コンテナのファイルシステムのパスに追加します<dest>
。
ベストアンサー1
確認すべきはADD
そしてCOPY
より詳細な動作の説明については のドキュメントを参照してください。簡単に言うと、 の主な違いは、 がADD
よりも多くのことを実行できることですCOPY
。
ADD
<src>
URLとして許可- 以下のコメントを参考にすると、
ADD
ドキュメンテーション次のように述べています。
認識された圧縮形式 (identity、gzip、bzip2、または xz) のローカル tar アーカイブの場合は、ディレクトリとして解凍されます。リモート URL からのリソースは解凍されません。
注意:Dockerfile を書くためのベストプラクティスCOPY
の魔法ADD
が必要ない場合にはを使用することを提案します。そうしないと、(この答えを調べる必要があったためkeep_this_archive_intact.tar.gz
)コンテナーにコピーするつもりが、代わりにコンテンツをファイルシステムにスプレーしてしまうという事態に、いつか驚かされる可能性があります。