LoginSignup
118

posted at

updated at

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.gzadd.txt に解凍されているのが分かる。
  • リモートから README.nd がコピーされているのが分かる。

環境

  • Docker version 18.03.1-ce, build 9ee9f40

参考

チャットメンバー募集

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

チャットメンバー募集

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

Twitter

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
118