@MCBEEF_ROYAL

Как из одного развернутного через docker-compose Django проекта подключиться к базе данных другого так же развернутого Django проекта?

У меня есть два сепарированных Django проекта (назовем их A и B), каждый из которых развернут через docker-compose на моей локалке. Мне нужно подключиться к базе проекта B через проект A в settings py, чтобы я мог работать с базой проекта B через проект А.

Вид docker-compose обоих проектов
version: "3.9"

services:
  db:
    image: postgres
    environment:
      - POSTGRES_DB=db_name
      - POSTGRES_USER=db_user
      - POSTGRES_PASSWORD=db_user
    logging:
      driver: none
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U postgres" ]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - backend

  server:
    build: .
    command: sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:7999"
    ports:
      - "7999:7999"
    environment:
      - POSTGRES_DB=db_name
      - POSTGRES_USER=db_user
      - POSTGRES_PASSWORD=db_user
    depends_on:
      - db
    links:
      - db:db
    networks:
      - backend

networks:
  backend:
    name: custom_backend
    driver: bridge

нужны ли какие-то доработки к docker-compose?
docker-compose приложения Б аналогичен первому, только убраны networks, а в конце добавлено следующее:
networks:
  default:
    name: custom_backend
    external: true


Джанговский settings.py, через который мне надо подключиться ко второй БД
DATABASES = {
    'db_A': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': os.environ.get('POSTGRES_DB'),
        'USER': os.environ.get('POSTGRES_USER'),
        'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
        'HOST': 'db',
        'PORT': 5432,
    },
   'db_B':  <- непонятно, что сюда вводить
}


При попытке собрать проект А через docker-compose он не видит БД параллельно развернутого проекта Б
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы