如何使与主机的Docker容器共享文件出现在容器中?

时间:2019-01-22 13:02:48

标签: python docker docker-machine boot2docker

我正在尝试创建一个容器来运行程序。我正在使用预配置的映像,现在需要运行该程序。但是,这是一个机器学习程序,我需要计算机上的数据集才能运行。

文件太大,无法复制到容器中。最好是在容器中运行的程序搜索了我计算机本地目录中的数据集,但我不知道该怎么做。

好吧,我已经使用容器中的docker run -it -v ~/Volumes/Data/Studies/PhD\Work/gitlab/J2/ydk-py:/ydk-py ydkdev/ydk-py使机器上的共享文件夹出现了,但是文件夹ydk-py中的所有文件都没有显示。这是安全的,通常希望的行为。但是对于开发和实例设置而言,访问现有文件结构将非常有用。

1 个答案:

答案 0 :(得分:1)

带有-v的

docker run将自动安装子目录。在您的情况下,您使用的是相对路径,您需要根据this文档使用绝对路径。 因此,从

更改命令
  

docker run -it -v ~/Volumes/Data/Studies/PhD\Work/gitlab/J2/ydk-py:/ydk-py ydkdev/ydk-py

  

docker run -it -v /home/<what ever user>/Volumes/Data/Studies/PhD\Work/gitlab/J2/ydk-py:/ydk-py ydkdev/ydk-py

它将起作用。 确保您对要挂载的目录具有足够的权限。