【自学Docker】Docker cp命令

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容器之间复制文件或者文件夹。

猜你喜欢

转载自blog.csdn.net/weixin_41384860/article/details/128827677