计算机网络/计算机科学与应用/系统/运维/开发

Docker cp命令 复制文件

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


业精于勤而荒于嬉,行成于思而毁于随

评论

^