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

问题描述 投票:23回答:1

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

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

有没有办法用一些docker命令做这个引用?还是使用Dockerfile?

docker dockerfile boot2docker docker-machine
1个回答
38
投票

是的,你可以这样做。您所描述的是主机卷安装。有关该主题的文档,请参阅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上挂载文件或目录。

© www.soinside.com 2019 - 2024. All rights reserved.