blog.nambo.jp

動作中のDockerコンテナにファイルをコピーする方法

Dockerコンテナからホストへは、docker cpコマンドでファイルをコピーできますが、その逆をやるのはなかなか面倒でした。

しかし、Docker 1.3からdocker execというコマンドでコンテナにアクセスできるようになりました。
たとえば、コンテナのプロセスを見たい場合は、

ターミナル
1
$ docker exec -it ${container_id} | ps -a

などといった具合です。

これを応用すれば、以下のようなコマンドでファイルのコピーが実現できます。

ターミナル
1
$ docker exec -i ${container_id} /bin/bash -c 'cat > /path/to/file' < /path/to/file