两个泊坞窗服务取决于相同的服务

时间:2019-06-04 08:23:18

标签: docker docker-compose docker-swarm orchestration

我有两个docker-compose文件

/cface/docker-compose.yml

  app-customer-facing:
    build: .
    depends_on:
      - mysql-db

  mysql-db:
    container_name: staging-mysql-db
    image: mysql:5.6

/aface/docker-compose.yml

  app-admin-facing:
    build: .
    depends_on:
      - mysql-db

  mysql-db:
    container_name: staging-mysql-db
    image: mysql:5.6

我希望面向客户的容器和面向管理员的容器都依赖于相同的mysql-db容器。当前这不起作用,app-customer-facing将以mysql-db开头,但是面向app-admin的应用将不会开始抛出:

ERROR: for mysql-db Cannot create container for service mysql-db: Conflict. The container name "/staging-mysql-db" is already in use by container "fe63e1ab0c1fd19236551bfc5930544cb31e649a4c18421c05959dc1274eb600". You have to remove (or rename) that container to be able to reuse that name.

1 个答案:

答案 0 :(得分:0)

错误是您正在复制 mysql-db 服务,没有重新使用它。这就是为什么您会收到一条错误消息,告诉您已经有一个名为 staging-mysql-db 的容器。

要解决用例,您必须扩展docker-compose文件。
您可以看到一个示例here。请参见基本上是您要尝试执行的 ADMINISTRATIVE TASKS (行政任务)框。