COPY と ADD

COPY コマンドは、

COPY [ローカルファイルへのパス] [コンテナ内のファイル設置パス]

とすることで、該当のローカルファイルをコンテナ内に設置することが可能です。

例えば、Dockerfileがあるディレクトリに以下の内容でtest.txtを作成し、

this is COPY command sample.

Dockerfileを以下の内容で作成します。

FROM ubuntu:18.04
COPY ./test.txt /

編集が完了したらイメージをビルドし、コンテナを生成してログインしましょう。

docker build -t [ユーザ名]/copy_sample:1.0 .

上記のコマンドでイメージを作成し、

docker container run --name copy_sample -it --rm [ユーザ名]/copy_sample:1.0

上記のコマンドでコンテナを生成し、ログインします。 lsコマンドでtest.txtがコンテナ内にコピーされているのを確認し、catコマンドなどで中身のテキストを確認しておきましょう。

ADD について

ADD コマンドはCOPYコマンドとほぼ同じですが

  • gz などのアーカイブファイルを自動展開する
  • URLを指定することで、リモートからファイルをコピーすることができる

といった違いがあります。

COPYの動作の方がより分かりやすいため、ADDを利用するよりもCOPYを利用した方が望ましいと言われています。

リモートURLのパッケージを取得する場合などは、curlやwgetなどのツールを利用するようにしましょう。

results matching ""

    No results matching ""