Подключиться к услуге, которая существует в docker -композиции A из docker -композиции B - PullRequest
0 голосов
/ 18 марта 2020

Похоже на Этот вопрос , но предоставленные решения либо устарели, либо не работают, либо неприменимы.

Проблема: Учитывая два отдельных проекта со своими docker -compose.yml файлов, совместно используйте службу (например, DB ) между docker -композиционными файлами, чтобы Project B подключался к DB определено в Проект A

Пожалуйста, игнорируйте отступы в файлах, этот редактор странный.

Поэтому у меня есть простая docker -композиция в моем первый (имя) проекта

docker -compose.yml (для первого API)

version: "3"
services:
api:
  build: .
  ports:
   - "8080:8080"
  restart: unless-stopped
  volumes:
    - .:/home/src
    - /home/src/node_modules
  depends_on:
    - db
  networks:
    - internal
db:
  image: "mysql:8"
  command: "--default-authentication-plugin=mysql_native_password"
  ports:
    - "3306:3306"
  restart: on-failure
  environment:
    MYSQL_DATABASE: "${DB_DATABASE}"
    MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
  volumes:
    - "dbdata:/var/lib/mysql"
    - "./mysql-dump:/docker-entrypoint-initdb.d"
  networks: 
    - internal

volumes:
  dbdata: null
networks:
  internal: 
    driver: bridge

и у меня есть второй проект с собственным docker -композит, но я хочу подключиться к службе дБ, определенной в первом docker -compose.yml

docker -compose.yml (для второй API) версия: "3" сервисы: second-api: build:. порты: - «8081: 8080» перезапуск: тома без остановок: -.: / home / src - / home / src / node_modules depen_on: - db # Это должны быть первые сети БД: - внутренние сети: first_internal: external: true

Я пытался определить external_links в соответствии с этой ссылкой вот так

    external_links:
      - first_internal:db # also just - db

, а также расширить определенный сервис в соответствии с эта ссылка , но это не работает (ошибка в extends:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...