先上代码
version: "3.2"
services:
jenkins:
image: jenkins/jenkins:lts
ports:
- "8080:8080"
- "50000:50000"
volumes:
- "jenkins_home:/var/jenkins_home"
volumes:
jenkins_home:
网上中说纷纭,有两种比较被接受的错误说法:
一种是在在jenkins_home前面加./ 这种方法其实会在compose file 当前目录下新建一个 docker volume.
另一种是就像我上面写的这样,这个其实是在/var/lib/docker/volumes/<项目名称>_jenkins_home. 也是新建了一个docker volume.
目前还没有比较好的办法,
workaround
- 是将你原来的docker 重命名为<项目名称>_jenkins_home 格式
- 找到你的docker volume在本地路径,然后将这个路径当做本地文件挂在上去
这个是无法避免的 因为docker-compose一定会带一个项目名称来创建一个新的voluem
如果你用-p 参数指定项目名,那么每次更换都会新建一个docker volume