作者:mobiledu2502901883 | 来源:互联网 | 2023-01-30 17:03
我正在尝试创建一个容器来运行程序.我正在使用预先配置的图像,现在我需要运行该程序.但是,这是一个机器学习程序,我需要从我的计算机运行数据集.
该文件太大,无法复制到容器中.如果容器中运行的程序在我的计算机的本地目录中搜索数据集,那将是最好的,但我不知道如何做到这一点.
有没有办法用一些docker命令做这个引用?还是使用Dockerfile?
1> Andy Shinn..:
是的,你可以这样做.您所描述的是主机卷安装.有关该主题的文档,请参阅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 Machine,则Docker Engine守护程序只能有限地访问您的macOS或Windows文件系统.Docker Machine尝试自动共享您的/ Users(macOS)或C:\ Users(Windows)目录.因此,您可以使用在macOS上挂载文件或目录.
我认为除非将映像名称放在命令之前,否则您将得到一个错误:docker myimage run -v / Users / andy / mydata:/ mnt / mydata`