Docker-dockerfile中的多个卷

时间:2019-10-03 16:13:54

标签: docker dockerfile

我正在尝试将多个添加到VOLUME,但它似乎没有按预期工作。这是我的docker文件。

FROM maven:3.6.1-jdk-8 as maven-build

VOLUME /apps/demo/conf
VOLUME /apps/demo/docs
VOLUME /apps/demo/logs

创建docker映像后,我运行了它。我没有在主机上的/ apps / demo / conf下创建的docker文件系统中看到该文件。

我知道我可以通过docker run -v path:path在命令行中传递它,但是我想知道是否可以在Dockerfile中执行此操作。

2 个答案:

答案 0 :(得分:2)

Dockerfile中的

VOLUME X并不意味着从主机系统挂载X。这一切都是在告诉Docker将来自容器中写入/apps/demo/conf 的数据持久保存在主机目录中。例如,如果要在重新启动容器期间保留一些数据,则可以这样做。如果要在容器中挂载主机文件系统,则必须使用run -v

答案 1 :(得分:0)

volume的主要目的是持久保存容器中的数据(如果以某种方式将其删除)。  如果要COPY config,为什么不在Dockerfile中使用COPY并保持ot在那里。您可以从其他目录进行COPY。

正如您所提到的,如果您仍然想挂载它,请使用run -v