docker cp でファイルをホストからコンテナへコピーする

2019年3月29日

docker cpコマンドを利用すると、Dockerホストからコンテナへファイルをコピーすることができます。その逆も可能です。

 

 

 

今回はhttpdイメージからApacheサーバとしてのコンテナを立ち上げ、ホスト側からコンテナへファイルのコピーをおこなってみます(環境:macOSにてDocker for Macを利用)。

 

ホスト側(つまりローカル)の適当なディレクトリにおいて、コピー用のファイルを作成します。

下記のように編集しました。

 

次にhttpdイメージからコンテナを起動します。

 

コンテナの起動を確認します。この段階でサーバが起動し「localhost:8080」にて「It works!」と表示されているのが確認できます。

 

 

ホストからコンテナへ


 

次に先ほど作成しておいた sample.html を「docker cp」コマンドを利用して、コンテナ内にコピーします。

カレントディレクトリ(./)にあるsample.htmlを、CONTAINER IDがaabade1747beであるコンテナの「/usr/local/apache2/htdocs/」ディレクトリにコピーしています。

 

以上で「localhost:8080/sample.html」にて「Hello Sample」と表示されるのが確認できます。

 

 

コンテナからホストへ


 

逆にコンテナから、ホスト側へファイルをコピーしてみます。

CONTAINER IDがaabade1747beであるコンテナの「/usr/local/apache2/conf/」ディレクトリにある「httpd.conf」ファイルを、ホスト側のカレントディレクトリ(./)にコピーしています。

 

httpd.confファイルを確認できました。

 

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー