Docker cp命令
大纲
docker cp命令教程
docker cp 命令用于在本地文件系统与 Dokcer容器 之间复制文件或者文件夹。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
docker cp命令语法
从容器复制到宿主机
haicoder(www.haicoder.net)# docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
从宿主机复制到容器
haicoder(www.haicoder.net)# docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker cp命令参数
参数描述-a, --archive归档模式(复制所有UID / GID信息)-L, --follow-link总是跟在源地址符号链接
docker cp命令说明
- docker cp 命令类似于 Linux 中的 cp -a 命令,递归复制目录下的所有子目录和文件。
- docker cp 命令中的
-
表示通过标准输入/输出设备以流的方式读取或写入tar
文件。 - 本地文件系统中的路径可以是绝对路径,也可以是相对路径,相对于当前命令执行的路径。
- 容器中的路径都是相对容器的
/
根路径。 - docker cp 命令操作的容器可以是在运行状态,也可以是停止状态。
- docker cp 命令不能复制 /proc、 /sys、 /dev、 tmpfs 和容器中 mount 的路径下的文件。
案例
从宿主机复制到容器
使用 Linux 的 echo 命令,创建一个文件,并写入内容。
haicoder(www.haicoder.net)# echo "Hello HaiCoder" >> haicoder_centos.txt
使用 docker run 命令,后台运行一个容器。
haicoder(www.haicoder.net)# docker run -it --name haicoder -d centos
02427797fbf6938cb6ac5b4fe92852055d57e8f133f1e36a0e73228fc66f7865
使用 docker cp 命令,将刚创建的文件,复制到 docker容器内部。
haicoder(www.haicoder.net)# docker cp ./haicoder_centos.txt haicoder:/tmp
使用 docker attach 命令,进入到 docker 容器内部。
haicoder(www.haicoder.net)# docker attach haicoder[root@64d4d1c50879 /]#
使用 ls 命令,查看容器的 /tmp 目录,是否有刚复制的文件存在,并查看文件内容,终端显示如下图所示:
我们看到,在容器内部的 /tmp 目录存在复制的文件,并且文件的内容为我们在宿主机写入的内容。
使用 exit 命令,退出容器,并使用 **docker kill ** 和 docker rm 命令,删除所有容器。
haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`
从容器复制到宿主机
使用 docker run 命令,运行一个容器。
haicoder(www.haicoder.net)# docker run -it --name haicoder centos[root@e0fae314c543 /]#
在容器的 /tmp 目录,使用 Linux 的 echo 命令,创建一个文件,并写入内容。
[root@e0fae314c543 /]# echo "Hello HaiCoder From docker" >> /tmp/haicoder_docker.txt
在宿主机,使用 docker cp 命令,将刚在容器内部创建的文件,复制到宿主机。
haicoder(www.haicoder.net)# docker cp haicoder:/tmp/haicoder_docker.txt /tmp
使用 ls 命令,查看宿主机的 /tmp 目录,是否有刚复制的文件存在,并查看文件内容,终端显示如下图所示:
我们看到,在宿主机的 /tmp 目录存在复制的文件,并且文件的内容为我们在容器内部写入的内容。
使用 docker kill 和 docker rm 命令,删除所有容器。
haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`
docker cp命令总结
docker cp 命令用于在本地文件系统与 Dokcer容器之间复制文件或者文件夹。
版权归原作者 i白 所有, 如有侵权,请联系我们删除。