cp Copy files/folders between a container and the local filesystem
在容器和本地文件系统之间复制文件/文件夹
# docker cp --help
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
从容器中复制文件或目录到执行命令所在机器的指定路径
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
从执行命令所在的机器复制文件或目录到容器内部的指定路径
Copy files/folders between a container and the local filesystem
在容器和本地文件系统之间复制文件/文件夹
Options:
-a, --archive Archive mode (copy all uid/gid information)
归档模式(复制所有UID / GID信息)
-L, --follow-link Always follow symbol link in SRC_PATH
总是跟在源地址符号链接
docker cp命令类似于UNIX中的cp -a命令,递归复制目录下的所有子目录和文件
-表示通过标准输入/输出设备以流的方式读取或写入tar文件
本地文件系统中的路径可以是绝对路径,也可以是相对路径,相对于当前命令执行的路径
容器中的路径都是相对容器的/根路径
被操作的容器可以是在运行状态,也可以是停止状态
不能复制/proc, /sys, /dev, tmpfs和容器中mount的路径下的文件
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a75dfeff0898 centos_nginx:1 "/nginx.sh" 2 days ago Up 2 days confident_wilson
f61fe8c1b847 nginx:1 "/bin/bash" 2 days ago Up 2 days 0.0.0.0:8080->80/tcp epic_ride
cf2c588a7b30 centos "/bin/bash" 5 days ago Up 5 days nifty_yonath
[root@localhost ~]# curl 127.0.0.1:8080
hello docker!
[root@localhost ~]# cat 1.test
it's docker cp!
[root@localhost ~]# docker cp ~/1.test f61fe8c1b847:/usr/share/nginx/html/index.html
[root@localhost ~]# curl 127.0.0.1:8080
it's docker cp!
[root@localhost ~]# vim 1.test