Два docker-сервиса зависят от одного и того же сервиса - PullRequest
1 голос
/ 04 июня 2019

У меня есть два файла для создания docker

/ cfacing / docker-compose.yml

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

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

/ afacing / 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, но приложение-администратор не начнет бросать:

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 голосов
/ 04 июня 2019

Ошибка в том, что вы дублируете службу mysql-db , вы не используете ее повторно.Вот почему вы получаете сообщение о том, что уже существует контейнер с именем staging-mysql-db .

Чтобы разрешить ваш вариант использования, вам придется расширить файл docker-compose.
Вы можете увидеть пример здесь .Смотрите блок АДМИНИСТРАТИВНЫЕ ЗАДАЧИ , который, в основном, и вы пытаетесь сделать.

...