我如何使用容器上的本地文件?

我正在尝试创build一个容器来运行一个程序。 我正在使用预先configuration的图像,现在我需要运行程序。 但是,这是一个机器学习程序,我需要从我的电脑上运行一个数据集。

该文件太大,无法复制到容器。 如果在容器中运行的程序在我的计算机的本地目录中search数据集,那将是最好的,但我不知道如何才能做到这一点。

有什么办法做一些docker命令这个参考吗? 还是使用Dockerfile?

是的,你可以做到这一点。 你所描述的是一个主机卷装载。 有关该主题的文档,请参阅https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume

例如,如果我想从我的主目录将一个文件夹挂载到容器中的/mnt/mydata中,我可以这样做:

 docker run -v /Users/andy/mydata:/mnt/mydata myimage 

现在,容器中的/mnt/mydata将可以访问我主机上的/Users/andy/mydata

请记住,如果您使用Docker for Mac或Docker for Windows,则默认情况下允许主机上的特定目录:

如果您在Mac或Windows上使用Docker计算机,则Docker引擎守护程序只能访问您的macOS或Windows文件系统。 Docker机器尝试自动共享您的/ Users(macOS)或C:\ Users(Windows)目录。 所以,你可以使用macOS挂载文件或目录。