Python/Django/Docker/Docker-Compose, почему не могу подцепиться к контейнеру из pytest'a?

Есть проект на Джанго.
Также есть контейнеры postgres, redis, web(приложение)
Когда запускаю приложение, то нормально подрубаюсь к контейнеру с базой, но из pytesta немогу, ругается на неизвестный сервис "postgres"
pytest.ini
[pytest]
addopts = --reuse-db --no-migrations
DJANGO_SETTINGS_MODULE = core.settings
python_files = tests.py test_*.py *_tests.py

В качестве настроек использую local_settings, в конце файла settings импортируются настроки локальные, если они есть.
local_settings
from .settings import *

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'provizorro',
        'USER': 'provizorro',
        'PASSWORD': 'Provizorro666',
        'HOST': 'postgres',
        'PORT': 5432,
    }
}

DEBUG = True

CELERY_BROKER_URL = 'redis://127.0.0.1:6001'
CELERY_BROKER_BACKEND = "redis"
CELERY_REDIS_PORT = 6001
CELERY_REDIS_HOST = "localhost"
CELERY_RESULT_BACKEND = 'redis://'

И docker-compose
version: '3'

services:
 postgres:
   image: postgres
   ports:
     - "5001:5432"
   environment:
     POSTGRES_DB: provizorro
     POSTGRES_USER: provizorro
     POSTGRES_PASSWORD: Provizorro666
   volumes:
     - /home/sergey/Projects/data-pg:/var/lib/postgresql/data
 redis:
   image: redis
   ports:
     - "6001:6379"
 web:
   restart: always
   build: .
   command: bash -c "python3.6 src/manage.py runserver 0.0.0.0:8000"
   ports:
     - "8000:8000"
   volumes:
     - .:/code
   depends_on:
     - postgres
     - redis
  • Вопрос задан
  • 317 просмотров
Пригласить эксперта
Ответы на вопрос 1
@abogoyavlensky
Python Developer
Возможно нужно дождаться запуска контейнера с базой с помощью скрипта wait-for-it: https://docs.docker.com/compose/startup-order/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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