🖥

Dockerfile の ADD と COPY の違いを結論から書く

2023/08/26に公開

ADD

  • リモートからもファイル追加できる
  • 圧縮ファイルが自動解凍される

COPY

  • リモートからのファイル追加は出来ない
  • 圧縮ファイルは自動解凍されない

Dockerfileの例

Dockerfile
FROM alpine

# Auto unarchive
ADD add.txt.gz /tmp

# Can ADD from remote
ADD https://github.com/github/fetch/blob/master/README.md /tmp

# Not auto unarchive
COPY copy.txt.gz /tmp

動作確認の例

ローカルには copy.txt.gz add.txt.gz があるものとする。

イメージをビルド

$ docker build . -t example

コンテナを走らせてディレクトリを確認

$ docker run example ls /tmp
README.md
add.txt
copy.txt.gz
  • add.txt.gzadd.txt に解凍されているのが分かる。
  • リモートから README.md がコピーされているのが分かる。

環境

  • Docker version 18.03.1-ce, build 9ee9f40

参考

チャットメンバー募集

オープンチャット「アジト 〜プログラマの巣窟〜」
https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2018-07-14

Discussion