我尝试在docker容器和主机之间共享数据,例如通过将参数-v / Users / name / Desktop / Tutorials:/ cntk / Tutorials添加到docker run命令,但我注意到它也删除了docker中的所有文件都包含在/ cntk / Tutorials中。
我的问题是如何制作相同的链接,而是将/ cntk / Tutorials中的所有文件复制到主机(位于/ Users / name / Desktop / Tutorials)
谢谢
答案 0 :(得分:0)
不幸的是,这是不可能的take a look here。那是因为这就是Linux中的安装工作方式。
答案 1 :(得分:0)
说文件被删除是不正确的。它们仍然存在于底层映像中,但是在同一路径上安装另一个目录的行为隐藏了它们。它们存在,但在这种情况下无法访问。
您可以通过将卷添加到容器中的不同路径,然后将容器的文件复制到该路径来实现此目的。这样的事情。
使用与容器已有的路径不同的路径为您感兴趣的文件安装主机卷。
docker run -v /Users/name/Desktop/Tutorials:/cntk/Tutorials2 [...]
现在,执行一个命令,将已存在于docker镜像中的文件复制到来自外部主机的已装入卷中。
docker exec <container-id> cp -r /cntk/Tutorials /cntk/Tutorials2
答案 2 :(得分:0)
通过docker cp
命令,您可以根据需要在主机和容器之间复制文件/文件夹:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker cp ContainerName:/home/data.txt . <== copy from container to host
docker cp ./test.txt ContainerName:/test.txt <== copy from host to container
docker cp ContainerName:/test.txt ./test2.txt <== copy from container to host
有关详细信息,请运行docker cp --help