Django Docker Celery - Не удается присвоить запрашиваемый адрес Работает ли сервер на хосте
Я пытаюсь запустить celery в докере с django и postgres.
Мой .env.dev выглядит следующим образом
DB_HOST=db
DB_NAME=app
DB_USER=postgres
DB_PASS=supersecretpassword
DB_ENGINE=django.db.backends.postgresql
DB_PORT=6543
POSTGRES_DB=app
POSTGRES_USER=postgres
POSTGRES_PASSWORD=supersecretpassword
POSTGRES_PORT=6543
Моя settings.py
следующая
DATABASES = {
'default': {
'ENGINE': os.environ.get('DB_ENGINE'),
'HOST': os.environ.get('DB_HOST'),
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASS'),
'PORT': os.environ.get('DB_PORT'),
}
}
Мой docker-compose выглядит следующим образом
version: "3.9"
services:
web:
container_name: website
build: ./backend
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./backend/:/usr/src/app/
ports:
- "8000:8000"
env_file:
- ./.env.dev
depends_on:
- db
- redis
db:
container_name: database
image: postgres
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./.env.dev
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
ports:
- "6543:5432"
redis:
image: redis:6-alpine
celery:
build:
context: ./backend
command: celery worker server --loglevel=info --logfile=logs/celery.log
volumes:
- ./backend/:/usr/src/app/
env_file:
- ./.env.dev
depends_on:
- db
- redis
- web
volumes:
postgres_data:
Сообщение об ошибке, которое я получаю, следующее
/usr/local/lib/python3.8/site-packages/django/core/management/commands/makemigrations.py:105: RuntimeWarning: Получена ошибка при проверке истории последовательных миграций, выполненных для соединения с базой данных 'default': не удалось подключиться к серверу: Connection refused Работает ли сервер на хосте "localhost" (127.0.0.1) и принимает ли он TCP/IP соединения на порт 6543? не удалось подключиться к серверу: Cannot assign requested address Работает ли сервер на хосте "localhost" (::1) и принимает ли он TCP/IP соединения на порт 6543? TCP/IP соединения на порт 6543?