コンテナ⇔ホストマシン間でのファイルコピーコマンド
ホストマシン側にファイルを作成
- ターミナルで下記コマンドを実行
cat docker_test/cp_test.txt
※ここでは “docker_test” フォルダ内に “cp_test.txt” ファイルを作成
CentOS のコンテナを起動
- ターミナルで下記コマンドを実行
docker start my_centos
docker cp コマンド実行
- ターミナルで下記コマンドを実行
docker cp docker_test/cp_test.txt my_centos:/opt
※ここでは、名前指定で “my_centos” としています
- docker cp { ホスト側のファイルパス(コピー元) } { コンテナID or 名前 }:{ コンテナ側のファイルパス(コピー先) }
確認
- 確認のためコンテナ(my_centos) 内に入る
docker exec -it my_centos /bin/bash - コピーしたファイルを確認
cat /opt/cp_test.txt
- “docker cp test” と表示され、STEP.1 で作成した内容と同じであることが確認できる
コンテナ側にファイルを作成
- ターミナルで下記コマンドを実行
vi /opt/cp_test_from_container.txt
※ここでは “opt” ディレクトリ内に “cp_test_from_container.txt” ファイルを作成
※vi コマンドについては “docker build” 参照 - 作成したファイルの内容を確認
cat opt/cp_test_from_container.txt - コンテナから出る
exit
※”docker cp” コマンドはホスト側で実行するため、1度コンテナから出る
docker cp コマンド実行
- ターミナルで下記コマンドを実行
docker cp my_centos:/opt/cp_test_from_container.txt docker_test/
※ここでは、名前指定で “my_centos” としています
- docker cp { コンテナID or 名前 }:{ コンテナ側のファイルパス(コピー元) } { ホスト側のフォルダパス(コピー先) }
確認
- ターミナルで下記コマンドを実行
cat docker_test/cp_test_from_container.txt
- “docker cp test from container” と表示され、STEP.1 で作成した内容と同じであることが確認できる