Gunicorn больше не запускается после добавления PostgreSQL в Docker
У меня есть проект Django, который я пытаюсь докеризировать. Я успешно добавил Django с gunicorn и nginx в Docker. Однако при попытке добавить PostgreSQL я столкнулся с проблемой. Мой контейнер Postgres запускается, но контейнер gunicorn больше не запускается, и я получаю эту ошибку в логах, так что действительно кажется, что она исходит от Postgres :
Я попробовал изменить IP-адрес хоста postgres в настройках, но это только изменило ошибку, но не решило ее.
Вот мой docker-compose.yml
:
version: '3.8'
services:
rabbitmq3:
image: rabbitmq:3-alpine
ports:
- 5672:5672
networks:
- main
postgres:
container_name: postgres
hostname: postgres
image: postgres:latest
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=Scripts Application
networks:
- main
ports:
- "5432:5432"
restart: on-failure
volumes:
- postgresql-data:/var/lib/postgresql/data
django_gunicorn:
volumes:
- static:/static
- media:/media
env_file:
- env
build:
context: .
ports:
- "8000:8000"
command: sh -c "python manage.py migrate && python manage.py collectstatic --no-input && gunicorn main.wsgi:application --bind 0.0.0.0:8000"
depends_on:
- postgres
networks:
- main
nginx:
build: ./nginx
volumes:
- static:/static
- media:/media
ports:
- "80:80"
depends_on:
- django_gunicorn
networks:
- main
celery:
restart: always
build:
context: .
command: celery -A main worker -P eventlet -c 100 -l INFO
env_file:
- env
depends_on:
- rabbitmq3
- django_gunicorn
- postgres
networks:
- main
networks:
main:
volumes:
postgresql-data:
static:
media:
Dockerfile:
FROM python:3.10.5-alpine
ENV PYTHONUNBEFFERED = 1
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN \
apk add --no-cache postgresql-libs && \
apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev && \
python3 -m pip install -r requirements.txt --no-cache-dir && \
apk --purge del .build-deps
COPY ./src /app
WORKDIR /app
Я совершенно не представляю, откуда может исходить эта проблема, поэтому буду рад, если кто-нибудь подскажет мне, как ее решить, заранее спасибо!