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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。