如何在Docker容器和主机之间共享数据?

我试图在Docker容器和主机之间共享数据,例如通过在docker run命令中添加参数-v / Users / name / Desktop / Tutorials:/ cntk / Tutorials,但是我注意到它也删除了所有的文件在/ cntk / Tutorials中包含的docker上。

我的问题是如何制作相同的链接,而是将/ cntk / Tutorials中的所有文件复制到主机(在/ Users / name / Desktop / Tutorials)

谢谢

不幸的是,这是不可能的, 看看这里 。 这是因为这是如何安装在Linux上的作品。

说这些文件被删除是不正确的。 它们仍然存在于底层的图像中,但是在同一条path上安装另一个目录的行为却掩盖了它们。 它们存在,但在这种情况下无法访问。

一种方法可以实现这一点,就是通过在不同的path上将卷装入容器,然后将容器的文件复制到该path。 像这样的东西。

使用与容器对您感兴趣的文件所具有的path不同的path挂载主机卷。

docker run -v /Users/name/Desktop/Tutorials:/cntk/Tutorials2 [...] 

现在,执行一个命令,将已经在Docker镜像中的文件复制到外部主机的已安装卷中。

 docker exec <container-id> cp -r /cntk/Tutorials /cntk/Tutorials2