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

How can I make Docker container shared files with host appeared in the container?

我正在尝试为 运行 程序创建一个容器。我正在使用预先配置的图像,现在我需要 运行 该程序。但是,这是一个机器学习程序,我需要从我的计算机到 运行.

的数据集

文件太大,无法复制到容器中。最好是容器里的程序运行ning在我电脑的本地目录下搜索数据集,但我不知道怎么办。

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

docker run加上-v会自动挂载子目录。在您的情况下,您使用的是相对路径,您需要根据 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

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