かべぎわブログ

技術的なことについてかけたらいいな…

docker cpでコンテナ内とホスト間でファイルをコピーする

概要

docker cpコマンドを利用してコンテナとホスト間でファイルをコピーしてみたいと思います。

コマンド例

たとえばこんなかんじのコンテナがあるとする。

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
5bc287372e97        centos              "/bin/bash"         44 seconds ago      Up 43 seconds                           elegant_ride

コンテナ内のhostsをホストにコピーしてみる。

$ sudo docker cp elegant_ride:/etc/hosts ./hosts

無事ローカルにコピーされていることがわかる。

$ ls -l ./hosts
-rw-r--r-- 1 root root 174  7月 18 13:30 ./hosts

$ cat ./hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2  5bc287372e97

おわりに

ホストからコンテナにコピーする場合は引数を逆にしてあげればOK

Docker

Docker