【问题标题】:Docker - multiple volumes inside the dockerfileDocker - dockerfile 中的多个卷
【发布时间】:2019-10-03 16:13:54
【问题描述】:

我正在尝试向 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 中执行它。

【问题讨论】:

  • 您能否检查以下答案并在解决后关闭它

标签: docker dockerfile


【解决方案1】:

Dockerfile 中的VOLUME X 并不意味着从主机系统挂载X。所有这一切都是告诉 Docker 将写入到 /apps/demo/conf 从容器内的数据保存在主机目录中。例如,如果您想在容器重新启动时保留一些数据,您可能会这样做。如果你想在容器中挂载一个主机文件系统,你必须使用run -v,就像你说的那样。

【讨论】:

    【解决方案2】:

    volume 的主要目的是在容器以某种方式被删除时保留容器的数据。 如果你想 COPY config ,为什么不在 Dockerfile 中使用 COPY 并保留它。您从不同的目录中复制。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多