我正在尝试使用docker compose文件创建jenkins和nexus集成。我的jenkins更新了几个使用Dockerfile的插件和在/ var / lib / jenkins /下创建的卷。
VOLUME [“/ 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 /
任何人都能帮我解决这个问题的原因吗?
答案 0 :(得分:0)
创建容器时初始化卷。如果容器的基本映像包含指定安装点的数据,则在卷初始化时将现有数据复制到新卷中。 (请注意,这在安装主机目录时不适用。)
在mount中将主机目录作为数据卷:
此命令将主机目录/ src / webapp安装到/ webapp的容器中。如果路径/ webapp已经存在于容器的映像中,则/ src / webapp挂载覆盖但不会删除预先存在的内容。删除安装后,可以再次访问该内容。这与mount命令的预期行为一致。
所以基本上你覆盖(隐藏)var / lib / jenkins中的任何东西。如果这些东西被隐藏,你的图像能起作用吗?