#django #postgresql #docker #celery
#django #postgresql #docker #сельдерей
Вопрос:
Сельдерей не может подключиться к PostgreSQL в моей службе docker и получает эту ошибку
could not connect to server: Cannot assign requested address
celery_1 | Is the server running on host "localhost" (::1) and accepting
celery_1 | TCP/IP connections on port 5432?
в то время как PostgreSQL работает нормально для базы данных, и я могу выполнять действия только в случае сельдерея.
Сейчас у меня есть 2 случая в этой службе сельдерея
celery:
build:
context: ./
dockerfile: Dockerfile
command: celery -A sampleproject worker -l info
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_HOST=${POSTGRES_HOST}
- POSTGRES_PORT=${POSTGRES_PORT}
volumes:
- .:/usr/src/app/
depends_on:
- database
- app
- redis
когда я передаю все переменные PostgreSQL в среду celery, она работает. пока я их удаляю, он не работает. почему это происходит? и как я могу это решить? чтобы я мог запустить сельдерей надлежащим образом
Ответ №1:
Нашел это при поиске того же. Я поделюсь своим решением для всех, кто найдет это.
Для меня проблема заключалась в том, что ${POSTGRES_HOST}
хост был установлен на localhost
. Для него должно быть установлено значение database
.