Служба postgres не запущена в docker
Я хочу изменить мой проект Django с postgres на docker и затем я делаю Dockerfile и docker-compose.yml
мой Dockerfile
FROM python:3.10.0-slim-buster
ENV APP_HOME=/app
RUN mkdir $APP_HOME
RUN mkdir $APP_HOME/staticfiles
ENV PYTHONBUFFERED=1
RUN apt-get update \
&& apt-get install -y build-essential \
&& apt-get install -y libpq-dev \
&& apt-get install -y gettext \
&& apt-get -y install netcat gcc postgresql \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/*
WORKDIR $APP_HOME
RUN pip install --upgrade pip
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY ./docker/local/django/entrypoint /entrypoint
RUN sed -i 's/\r$//g' /entrypoint
RUN chmod +x /entrypoint
ENTRYPOINT [ "/entrypoint"]
my docker-compoae.yml
version: "3"
services:
api:
container_name: estate-api-container
build:
context: .
dockerfile: ./docker/local/django/Dockerfile
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
- static_volume:/app/staticfiles
- media_volume:/app/mediafiles
ports:
- "8000:8000"
env_file:
- .env
depends_on:
- db
db:
container_name: estate-db-postgres12
image: postgres:12.0-alpine
ports:
- 5432:5432
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
static_volume:
media_volume:
postgres_data:
точка входа
#!/bin/sh
if [ "$DATABASE" = "estate1" ]
then
echo "Waiting for postgres..."
while ! nc -z $POSTGRES_HOST $POSTGRES_PORT; do
sleep 0.1
done
echo "PostgreSQL started"
fi
exec "$@"
когда я выполняю команду docker-compose build успешная сборка,
моя проблема, когда я запускаю docker-compose up
это его журналы
и затем я пытаюсь изменить порты в 5433:5433 в моем docker-compose.yml, результат тот же, что и в логах
если я запускаю без docker, проблем нет. есть какие-нибудь предложения? Спасибо