docker从主机容器cp不工作

我是新来的docker概念,并试图从我的主机复制一些文件到容器。 假设我的泊坞窗名是my_docker,当我运行以下:

docker cp my_docker:/usr/local/src/test.txt test.txt 

它将test.txt文件从我的容器复制到本地主机。 但是反过来这样做是行不通的。 这里是命令:

 docker cp test.txt my_docker:/usr/local/src 

有什么我在做运行吗? 任何帮助将非常感激。

谢谢

在你的第二个命令中,你似乎试图将test.txt复制到名字为src的/ usr / local中。 尝试在目标path的末尾添加/: docker cp test.txt my_docker:/usr/local/src/要复制文件名或: docker cp test.txt my_docker:/usr/local/src/newname.txt在容器中重命名它。

正如在评论中提到的ahajib ,你正在寻找你在不同的容器中复制的文件。

 $ docker run --name my_container alpine $ docker cp test.txt my_container:/tmp/test.txt $ docker run alpine ls -l /tmp total 0 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6224c947fbbd alpine "ls -l /tmp" 11 seconds ago Exited (0) 10 seconds ago brave_neumann 22951689a3e4 alpine "/bin/sh" About a minute ago Exited (0) About a minute ago my_container 

您将该文件复制到my_container ,但是您在my_container运行了ls -l /tmp命令。

如果要将文件复制到容器中,然后在容器中使用这些文件,则必须在容器仍在运行时复制这些文件,或者将其复制到泊坞窗卷中。 将该卷装入新的容器,然后让它看到您复制的文件。

 $ docker volume create my_volume my_volume $ docker run --name my_container2 -v my_volume:/data alpine echo OK OK $ docker cp test.txt my_container2:/data/test.txt $ docker run -v my_volume:/data alpine ls -l /data total 4 -rw-r--r-- 1 1006 1006 29 Oct 6 19:43 test.txt $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 15b36ccd535f alpine "ls -l /data" 7 seconds ago Exited (0) 6 seconds ago agitated_khorana b9d4c9e0902f alpine "echo OK" 54 seconds ago Exited (0) 53 seconds ago my_container2 6224c947fbbd alpine "ls -l /tmp" 2 minutes ago Exited (0) 2 minutes ago brave_neumann 22951689a3e4 alpine "/bin/sh" 3 minutes ago Exited (0) 3 minutes ago my_container $