Django OperationalError
Есть сайт на Django. Загрузили на хостинг. Бэк работает окремо от фронта по АПИ. При обращении сайта к АПИ Джанго - выскакивает ошибка:
could not translate host name "postgres" to address: Temporary failure in name resolution
Что не так с БД? Второй день сижу, не могу разобраться. Понял только, что Докеру что-то не нравится в БД. Хелпаните, а?)
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': os.environ.get('POSTGRES_DB'),
'USER': os.environ.get('POSTGRES_USER'),
'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
'HOST': os.environ.get('POSTGRES_HOST'),
'PORT': os.environ.get('POSTGRES_PORT'),
'ATOMIC_REQUESTS': True,
'CONN_MAX_AGE': 0
}
}
docker-compose.yml
version: '3.3'
services:
redis:
container_name: avihovalot.redis
image: redis:3.2-alpine
command: redis-server --maxmemory 512mb --maxmemory-policy allkeys-lru --appendonly yes
restart: always
ports:
- 6379:6379
volumes:
- redis:/data
django:
container_name: 'avihovalot.django'
env_file:
- .env
build:
context: .
dockerfile: Dockerfile
ports:
- 9000:8001
- 8001:8001
restart: always
# command: python -m uvicorn crm_transfer.asgi:application --reload --timeout-keep-alive 0 --host=0.0.0.0 --port=8001 --loop=uvloop
command: /usr/bin/supervisord --configuration /app/supervisord.conf
depends_on:
- postgres
- redis
links:
- redis
- postgres
volumes:
- .:/app
working_dir: /app/
daphne:
container_name: 'avihovalot.daphne'
env_file:
- .env
build:
context: .
dockerfile: Dockerfile
ports:
- 8008:8008
depends_on:
- django
working_dir: /app/
volumes:
- .:/app
command: daphne -b 0.0.0.0 -p 8008 crm_transfer.asgi:application
postgres:
image: postgres:13.1
container_name: "avihovalot.postgres"
volumes:
- avihovalot_postgres_data:/var/lib/postgresql/data
- ./init_db.sql:/app/init_db.sql
env_file:
- .env
ports:
- "54330:5433"
volumes:
static: { }
media: { }
redis: { }
postgres_data:
driver: local
avihovalot_postgres_data:
driver: local
Dockerfile
FROM python:3.8
ENV PYTHONDONTWRITEBYTECODE 1
ENV TZ=Europe/Kiev
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update
RUN apt-get install -y gcc g++ cmake clang python3-dev python-dev python3-pip nano \
bpython3 postgresql libgmp10-dev build-essential libssl-dev libffi-dev ca-certificates supervisor
RUN python -m pip install --upgrade pip
RUN python -m pip install setuptools cython
COPY ./requirements.txt /requirements.txt
RUN python -m pip install -r /requirements.txt
RUN python -m pip install uvicorn[standard] websockets
RUN python -m pip install pgcli
#RUN daphne -b 0.0.0.0 -p 8008 crm_transfer.asgi:channel_layer
USER root
EXPOSE 9000 8008 8001