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 $