container cp命令支持在容器和主机之间复制文件
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
SRC_PATH: 源路径(可以是容器内的路径或宿主机的路径)
CONTAINER: 容器的名称或 ID
DEST_PATH: 目标路径(可以是容器内的路径或宿主机的路径)
一、从容器复制文件到宿主机
实例,将本地的路径data复制到test容器的/tmp路径下
$ docker [container] cp data test:/tmp/ https://www.runoob.com/docker/docker-cp-command.html
实例,启动容器,将容器中的文件my.txt 复制到宿主机/tmp/目录下
[root@localhost ~]# docker start 27558b555d71 27558b555d71
查看运行中的容器
[root@localhost ~]# docker container ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27558b555d71 ubuntu:18.04 "/bin/bash" 4 minutes ago Up 5 seconds admiring_black df2c7de2d355 mysql:8.0.20 "docker-entrypoint.s…" 3 weeks ago Up 12 minutes 33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp mysql8
将 27558b555d71容器中的tmp/my.txt 复制到/tmp/目录下
[root@localhost ~]# docker container cp 27558b555d71:/tmp/my.txt /tmp/ Successfully copied 1.54kB to /tmp/ [root@localhost tmp]# docker container cp admiring_black:/tmp/my.txt /tmp/ Successfully copied 1.54kB to /tmp/ [root@localhost tmp]# ls my.txt
二、从宿主机复制文件到容器
格式: docker cp /path/on/host my_container:/path/in/container
将宿主机/tmp/目录下的test.php 复制到 admiring_black容器中/tmp/目录下
[root@localhost tmp]# docker container cp /tmp/test.php admiring_black:/tmp/ Successfully copied 1.54kB to admiring_black:/tmp/
使用docker container exec命令进入2755容器中查看 test.php文件是否被复制成功
[root@localhost tmp]# docker exec -it 2755 /bin/bash root@27558b555d71:/# cd /tmp/ root@27558b555d71:/tmp# ls my.txt test.php
三、从容器复制目录到宿主机
格式:docker cp my_container:/path/in/container /path/on/dirname
将容器下的admiring_black:/tmp/mydir/目录 复制到 宿主机下的 /tmp/目录下
[root@localhost tmp]# docker container cp admiring_black:/tmp/mydir /tmp/ Successfully copied 2.05kB to /tmp/
四、从宿主机复制目录到容器
[root@localhost tmp]# mkdir mysuzhuji [root@localhost tmp]# docker container cp ./my mydir/ mysuzhuji/ my.txt [root@localhost tmp]# docker container cp ./mysuzhuji/ admiring_black:/tmp/ Successfully copied 1.54kB to admiring_black:/tmp/ [root@localhost tmp]# docker exec -it 2755 /bin/bash root@27558b555d71:/# cd /tmp/ root@27558b555d71:/tmp# ls my.txt mydir mysuzhuji test.php