Dockerfile VOLUME 不挂载主机
Dockerfile VOLUME does not mount host
所以我有一个带有 VOLUME
行的 dockerfile,我想在其中将一个目录从我的主机挂载到我的 ubuntu 容器。容器构建良好,但是当它是 运行 时,我想要的目录
挂载为空。
我试图将它直接挂载到 dockerfile 中,所以我不想使用 docker run -v
我该如何正确执行此操作?
如docs for the Dockerfile VOLUME
instruction中指定:
The host directory is declared at container run-time: The host directory (the mountpoint) is, by its nature, host-dependent. This is to preserve image portability, since a given host directory can’t be guaranteed to be available on all hosts. For this reason, you can’t mount a host directory from within the Dockerfile. The VOLUME instruction does not support specifying a host-dir parameter. You must specify the mountpoint when you create or run the container.
所以不,您无法在 Dockerfile 中指定主机目录。您将需要使用 bind mount 和 --mount
或 --volume
标志,如绑定安装文档中所示。
如果您试图避免在构建上下文中复制额外数据,请考虑使用 .dockerignore
文件。
所以我有一个带有 VOLUME
行的 dockerfile,我想在其中将一个目录从我的主机挂载到我的 ubuntu 容器。容器构建良好,但是当它是 运行 时,我想要的目录
挂载为空。
我试图将它直接挂载到 dockerfile 中,所以我不想使用 docker run -v
我该如何正确执行此操作?
如docs for the Dockerfile VOLUME
instruction中指定:
The host directory is declared at container run-time: The host directory (the mountpoint) is, by its nature, host-dependent. This is to preserve image portability, since a given host directory can’t be guaranteed to be available on all hosts. For this reason, you can’t mount a host directory from within the Dockerfile. The VOLUME instruction does not support specifying a host-dir parameter. You must specify the mountpoint when you create or run the container.
所以不,您无法在 Dockerfile 中指定主机目录。您将需要使用 bind mount 和 --mount
或 --volume
标志,如绑定安装文档中所示。
如果您试图避免在构建上下文中复制额外数据,请考虑使用 .dockerignore
文件。