docker cp

docker cp コマンドを使うとホスト⇒コンテナ、コンテナ⇒ホストでファイルのコピーができる。

 


以下httpdコンテナのindex.htmlをホストにコピーし、書き換えたあとコンテナ内に戻す例

・前提条件

※1・・・コマンドはすべてPowerShellから実行している
※2・・・hogeContainer⇒起動したhttpdコンテナのName

 

①コンテナ内のカレントディレクトリを確認する

docker exec hogeContainer pwd

 

②lsコマンドでカレントディレクトリのフォルダ一覧を確認する

docker exec hogeContainer ls

 

③lsコマンドでindex.htmlが存在することを確認する

docker exec hogeContainer ls htdocs

 

④cpコマンドでホストにindex.htmlをコピーする

docker cp hogeContainer:/usr/local/apache2/htdocs c:/test

 引数1:コピー元(コンテナ)
 引数2:コピー先(ホスト-windows)
 ※コンテナ内のパスは①で確認したカレントディレクトリをつける必要がある

 

⑤④で取得したindex.htmlをホストで書き換え、以下コマンドでコンテナ内にコピーする

docker cp c:/test/htdocs/index.html hogeContainer:/usr/local/apache2/htdocs/index.html


⑥ブラウザにhttp://localhost:8080と入力し、書き換えた文字列が表示されればOK。

 

▼コマンドの実行結果