【问题标题】:Docker volume is empty for jenkins compose file, not copying any filesjenkins compose文件的Docker卷为空,不复制任何文件
【发布时间】:2017-05-17 06:17:29
【问题描述】:

我正在尝试使用 docker compose 文件创建 jenkins 和 nexus 集成。在我的 jenkins 中,使用 Dockerfile 和在 /var/lib/jenkins/ 下创建的卷更新了几个插件。

音量 ["/var/lib/jenkins/"]

在撰写文件中我试图将我的卷映射到本地存储 /opt/jenkins/

jenkins:
  build: ./jenkins
  ports:
    - 9090:8080
  volumes:      
    - /opt/jenkins/:/var/lib/jenkins/

但没有任何内容复制到我的持久性目录 (/opt/jenkins/)。

我可以在某个卷下的 _data/jobs/ 目录下创建的所有 jenkins 作业中看到。不在我的卷中定义 /var/lib/jenkins/

任何人都可以帮助我解决为什么会这样吗?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    来自documentation

    创建容器时会初始化卷。如果容器的基础镜像包含指定挂载点的数据,那么在卷初始化时,现有数据将被复制到新卷中。 (请注意,这不适用于挂载主机目录。

    并在挂载一个主机目录作为数据卷:

    此命令将主机目录 /src/webapp 挂载到位于 /webapp 的容器中。如果路径 /webapp 已经存在于容器的映像中,则 /src/webapp 挂载会覆盖但不会删除预先存在的内容。移除挂载后,即可再次访问内容。这与 mount 命令的预期行为一致。

    所以基本上你正在覆盖(隐藏)var/lib/jenkins 中的任何内容。如果这些东西被隐藏了,你的图像可以正常工作吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多