Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dockerfile—如何定义将主机文件系统装载到容器_Docker_Dockerfile_Mount - Fatal编程技术网

Dockerfile—如何定义将主机文件系统装载到容器

Dockerfile—如何定义将主机文件系统装载到容器,docker,dockerfile,mount,Docker,Dockerfile,Mount,我想将主机系统的文件夹装载到容器中,并且需要在Dockerfile中定义它,这样用户就不需要通过在命令行中传递参数来运行容器来手动执行。如何做到这一点?这根本无法做到。Docker图像设计为可移植的。主机装载是特定于主机的。因此,如果您能够在构建时指定主机装载,则会使映像在没有此装载文件夹的计算机上不可移植。因此,这就是该选项不可用的原因 您可以使用来帮助用户不选择装载文件夹。看看这根本无法做到。Docker图像设计为可移植的。主机装载是特定于主机的。因此,如果您能够在构建时指定主机装载,则会使

我想将主机系统的文件夹装载到容器中,并且需要在Dockerfile中定义它,这样用户就不需要通过在命令行中传递参数来运行容器来手动执行。如何做到这一点?

这根本无法做到。Docker图像设计为可移植的。主机装载是特定于主机的。因此,如果您能够在构建时指定主机装载,则会使映像在没有此装载文件夹的计算机上不可移植。因此,这就是该选项不可用的原因


您可以使用来帮助用户不选择装载文件夹。看看

这根本无法做到。Docker图像设计为可移植的。主机装载是特定于主机的。因此,如果您能够在构建时指定主机装载,则会使映像在没有此装载文件夹的计算机上不可移植。因此,这就是该选项不可用的原因


您可以使用来帮助用户不选择装载文件夹。请看一下

Dockerfile
用于创建图像而不是容器

您不能在
图像
上定义
。创建容器时,必须在执行时定义

docker run -v /host-folder:/root/containerfolder -i -t  imagename

Dockerfile
用于创建图像而不是容器

您不能在
图像
上定义
。创建容器时,必须在执行时定义

docker run -v /host-folder:/root/containerfolder -i -t  imagename
创建映像时(使用Dockerfile和
docker build
),您只能将主机文件系统的内容复制到容器中,或声明容器中有一个稍后将装入的卷。但是您无法在该步骤中创建容器和主机之间的链接,因为映像不是正在运行的容器,并且不要忘记您可以将映像发送到另一个docker主机,而无需进行任何修改。如果您想要一种简单的方法来声明有要装入的卷,那么您应该查找docker compose。在创建映像(使用Dockerfile和
docker build
)时,您只能将主机文件系统的内容复制到容器中,或者声明容器中有一个稍后要装入的卷。但是您无法在该步骤中创建容器和主机之间的链接,因为映像不是正在运行的容器,并且不要忘记您可以将映像发送到另一个docker主机,而无需进行任何修改。如果您想要一种简单的方法来声明有一个卷要装载,那么您应该寻找docker compose。