慢慢赚钱博客

5月 27 2017

docker cp容器和宿主机的文件复制拷贝

容器共用volumes文章中我们假设启动了两个容器new1 和 new2 ,而且共用一个volumes,其内容为/cookbook/foobar 这个文件。

以下步骤我们将完成从容器new1 拷贝文件foobar到宿主机,更改文件内容后 拷贝到容器 new2 ,然后删除宿主机的本地文件,因为new1 和 new2 是共享volumes,所以我们再次拷贝new1 的foobar 文件下来,应该看到我们修改过的foobar

已有的两个容器,共享volumes:

[root@iZj6c4kga39y2z70xmt5y9Z ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
6624d93570e3        ubuntu:14.04        "/bin/bash"         15 minutes ago      Up 3 seconds                                    new2
ec7ad2ad04c7        ubuntu:14.04        "/bin/bash"         16 minutes ago      Up 15 minutes                                   new1

拷贝文件:

[root@iZj6c4kga39y2z70xmt5y9Z ~]# docker cp new1:/cookbook/foobar .
[root@iZj6c4kga39y2z70xmt5y9Z ~]# more foobar 
123
456
442
999
[root@iZj6c4kga39y2z70xmt5y9Z ~]# echo "1111" >> foobar 
[root@iZj6c4kga39y2z70xmt5y9Z ~]# docker cp foobar new2:/cookbook/foobar
[root@iZj6c4kga39y2z70xmt5y9Z ~]# rm -f foobar 
[root@iZj6c4kga39y2z70xmt5y9Z ~]# docker cp new1:/cookbook/foobar .
[root@iZj6c4kga39y2z70xmt5y9Z ~]# cat foobar 
123
456
442
999
1111

Written by moneyslow.com

moneyslow.com真棒!