🖥
Dockerfile の ADD と COPY の違いを結論から書く
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.gz
がadd.txt
に解凍されているのが分かる。 - リモートから
README.md
がコピーされているのが分かる。
環境
- Docker version 18.03.1-ce, build 9ee9f40
参考
チャットメンバー募集
オープンチャット「アジト 〜プログラマの巣窟〜」
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2018-07-14
Discussion