docker cp 命令用于在本地文件系统与 Dokcer容器 之间复制文件或者文件夹。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
haicoder(www.haicoder.net)# docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
haicoder(www.haicoder.net)# docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
参数 | 描述 |
---|---|
-a, --archive | 归档模式(复制所有UID / GID信息) |
-L, --follow-link | 总是跟在源地址符号链接 |
-
表示通过标准输入/输出设备以流的方式读取或写入 tar
文件。/
根路径。使用 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 命令用于在本地文件系统与 Dokcer容器之间复制文件或者文件夹。