Docker (Dockerfile): 从主机到容器共享一个目录

Docker (Dockerfile): Share a directory from host to container

我想知道是否有任何方法可以使用 Dockerfile 将目录从我的主机共享到 docker 容器(共享卷)。

我知道我们可以在使用 docker 运行 的同时使用卷(-v 选项)来做到这一点。但是我找不到任何方法可以在使用 Dockerfile 的指令时做到这一点。

我已经在 Dockerfile 中尝试了 VOLUME 指令,但没有成功。 以下是有关我的环境的一些详细信息:

[me@myHost new]$ tree -L 1
.
|-- docker-compose.yml
|-- Dockerfile
|-- Shared  // This is the directory I wish to share with my containers.

` 到目前为止,我一直在使用 docker-compose.yml 文件来挂载此目录:

volumes:
- ./Shared:/shared  # "Relative Path at the host":"Absolute Path at the container"

但是现在由于一些原因需要挂载到Dockerfile中。我已经尝试了以下但未能成功(它正在 /shared 上创建一个新的空卷。):

VOLUME ./Shared:/shared

我可以使用 docker 运行 并通过在容器中进行手动更改来保存图像,但我希望我可以在 Dockerfile 本身中进行此操作。

谢谢。

您无法使用 Dockerfile 中的命令挂载本地目录。您必须使用 docker rundocker run 的代理来执行此操作,例如 docker-compose.