docker cp の使い方

ファイルをコピーする

書き方

docker cp コンテナ:パス ホストのパス
docker cp ホストのパス コンテナ:パス

コンテナとホストの間でファイルをコピーします。止まっているコンテナからも取り出せます。

よく使うオプション

オプション意味
-a持ち主(UID・GID)もそのままコピーする
-Lシンボリックリンクの先の中身をコピーする

例

$ docker cp web:/etc/nginx/nginx.conf .Successfully copied 2.56kB to /home/ec2-user/.

コンテナの中の設定ファイルを、ホストの今のディレクトリにコピーします。止まっているコンテナからも取り出せます。

$ docker cp ./index.html web:/usr/share/nginx/html/

ホストのファイルをコンテナの中に入れます。ちょっと試すときに使います。

$ docker cp api:/app/logs ./api-logs

ディレクトリごとコピーします。落ちたコンテナのログを取り出して調べるときに便利です。

よくある間違い・注意

  • cp で入れたファイルは、コンテナを作り直すと消えます。ずっと使うものは Dockerfile の COPY かボリュームにします。
  • コンテナの中のパスはワイルドカード(*)が使えません。ディレクトリごとコピーします。

実際に打って練習する

Docker コースの Lv26「調べる inspect と cp」で覚えます(第3章 倉庫(データと設定))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

Docker コマンド一覧(使い方と例)へ戻る