こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、14年目エンジニアです。
この記事では、 Dockerでローカル⇔コンテナでファイルのコピーができるdocker cpコマンドについて解説していきます。
前提:実行環境
実行環境は以下の通りです。
OS | Windows11 |
---|---|
Dockerのバージョン | 28.1.1 |
ローカル⇔コンテナでファイルのコピーができるdocker cpコマンドを解説
ローカル⇔コンテナでファイルのコピーができるdocker cpコマンドを解説します。
コマンドプロンプトやUbuntuなど、何かしらのターミナルを起動します。
この記事では、Ubuntuを開きます。
コンテナを確認するため
1 |
docker ps -a |
をたたきます。
1 2 3 |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9fab5e6b9557 welcome-to-docker:latest "docker-entrypoint.s…" 4 months ago Exited (255) 2 days ago 0.0.0.0:8089->3000/tcp fervent_margulis e69a45ef0c5c docker/welcome-to-docker:latest "/docker-entrypoint.…" 5 months ago Up 8 minutes 0.0.0.0:8088->80/tcp welcome-to-docker |
この記事ではNAMEが「welcome-to-docker」のコンテナに対してコピーしていきます。
まず、ローカルからコンテナへファイルコピーするやり方から解説します。
コマンドは
1 |
docker cp 【コピーしたいファイルパス】 【NAMEまたはCONTAINER ID】:【コンテナのファイルパス】 |
になります。
では、実際にやってみます。
カレントディレクトリにある「sample.json」を「welcome-to-docker」配下の「tmp」ディレクトリ内にコピーします。
コマンドは
1 |
docker cp sample.json welcome-to-docker:tmp |
こんな感じになります。
実行前にwelcome-to-dockerコンテナ配下のtmpディレクトリを確認してみます。
何もファイルがない事を確認しました。
コマンドを実行してみると
1 |
Successfully copied 2.05kB to welcome-to-docker:tmp |
コピーに成功したメッセージが表示されました。
実行後のwelcome-to-dockerコンテナ配下のtmpディレクトリを確認してみます。
tmpディレクトリにsample.jsonがコピーできていることが確認できました。
今度は逆で、コンテナからローカルへファイルコピーするやり方を解説します。
コマンドは
1 |
docker cp 【NAMEまたはCONTAINER ID】:【コンテナのファイルパス】 【格納したいファイルパス】 |
になります。
では、実際にやってみます。
「welcome-to-docker」配下の「tmp」ディレクトリ内にある「sample.json」をカレントディレクトリにコピーします。
コマンドは
1 |
docker cp welcome-to-docker:tmp/sample.json sample.json |
こんな感じになります。
実行前にローカルのカレントディレクトリを確認してみます。
何もファイルがない事を確認しました。
コマンドを実行してみると
1 |
Successfully copied 2.05kB to /home/○○○○/○○○○/sample.json |
コピーに成功したメッセージが表示されました。
実行後のカレントディレクトリを確認してみます。
カレントディレクトリにsample.jsonがコピーできていることが確認できました。
ちなみにですが、cpコマンドを実行するときにコンテナは起動してもしてなくてもどっちでもOKです。
まとめ:ファイルをコピーしてみよう
以上がDockerでローカル⇔コンテナでファイルのコピーができるdocker cpコマンドの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント