Compose 中如挂载在已经创建成功的docker volume

先上代码

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

  1. 是将你原来的docker 重命名为<项目名称>_jenkins_home 格式
  2. 找到你的docker volume在本地路径,然后将这个路径当做本地文件挂在上去

这个是无法避免的 因为docker-compose一定会带一个项目名称来创建一个新的voluem

如果你用-p 参数指定项目名,那么每次更换都会新建一个docker volume

猜你喜欢

转载自blog.csdn.net/weixin_42215229/article/details/85287864