Похоже на Этот вопрос , но предоставленные решения либо устарели, либо не работают, либо неприменимы.
Проблема: Учитывая два отдельных проекта со своими 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:)