🐳
Dockerのコンテナ内にあるファイルをホストにコピーする方法
はじめに
Laravelで、CSVファイルを出力する機能を実装した際に、出力したCSVファイルの内容を確認したいことがありました。
最初、cat
コマンドで確認したのですが、ホストに直接コピーして確認する方法はないかなー?と調べたトコロ、まさに求めていた方法があったのでメモしておきます。
手順
DockerコンテナのコンテナIDを確認
以下コマンドで、対象のコンテナIDを確認します。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
************ ..... ....... ....... ...... ..... .....
コンテナからローカルにファイルをコピー
以下コマンドで、コピーしたいファイルをホストにコピーします。
$ docker cp [コンテナID]:[コピーするファイルパス] [コピー先のファイルパス]
// $ docker cp ************:/usr/local/test.csv /Desktop
コピー先にファイルがコピーされていると思います!
逆(ホストからコンテナへコピー)もあります。
こちらは実際に使用したことないですが、逆(ホストからコンテナへコピー)もありました。
$ docker cp [コピーするファイルパス] ************:[コピー先のファイルパス]
// $ docker cp /Desktop/test.csv ************:/usr/local
参考
Discussion