无法使用docker compose对卷运行服务副本

无法使用docker compose对卷运行服务副本,docker,docker-compose,gitlab-ci-runner,docker-volume,Docker,Docker Compose,Gitlab Ci Runner,Docker Volume,我让docker编写了卷: volumes: code: driver: local driver_opts: type: 'none' o: 'bind' device: $PWD services: # .. Some services 我使用gitlab runner运行它。服务非常好 但现在我需要在同一台服务器上运行服务副本 我已经为它创建了单独的gitlab runner。当我尝试部署服务副本时,出现下一个错误: 18

我让docker编写了卷:

volumes:

  code:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: $PWD

services: 
  # .. Some services
我使用gitlab runner运行它。服务非常好

但现在我需要在同一台服务器上运行服务副本

我已经为它创建了单独的gitlab runner。当我尝试部署服务副本时,出现下一个错误:

18美元docker compose up-d——构建
19卷代码的配置指定“设备”驱动程序\ opt/home/gitlab runner/builds/MevxfSHX/0/semast/sa解析器,但同名卷使用不同的“设备”驱动程序\ opt(/home/gitlab runner/builds/BWs7\ u SoK/0/semast/sa parser)。如果要使用新配置,请先删除现有卷“sa-parser_code”:
20$docker卷rm sa-U代码
24错误:作业失败:退出状态1


似乎是卷名中的冲突。运行复制服务需要做什么?

我已经修改了
.gitlab ci.yml
,以在另一个路径中创建project now builds,这样卷就有了另一个前缀。

您可以删除卷声明并运行烘焙到映像中的代码吗?无论如何,这通常是更好的做法;运行Docker的原因之一是图像是自包含的,您不需要单独复制运行时和应用程序代码。我使用此卷在php和nginx容器之间共享代码,因此无法删除它。我不在服务中使用匿名卷(如
:/var/www/html
),因为这会导致另一个问题,即在部署过程中“粘住”卷。是否存在在不同名称空间中部署这些卷的任何方法?