Я пытаюсь запустить контейнер с этими файлами Docker:
docker-compose.yml:
version: '3.7'
services:
users:
build:
context: ./services/users
dockerfile: Dockerfile
volumes:
- './services/users:/usr/src/app'
ports:
- 5001:5000
environment:
- FLASK_ENV=development
- APP_SETTINGS=project.config.DevelopmentConfig
- DATABASE_URL=postgres://postgres:postgres@users-db:5432/users_dev
- DATABASE_URL_DEPTS=postgres://postgres:postgres@users-db:5432/depts_dev
- DATABASE_TEST_URL=postgres://postgres:postgres@users-db:5432/users_test
- DATABASE_TEST_URL_DEPTS=postgres://postgres:postgres@users-db:5432/depts_test
depends_on:
- users-db
users-db:
build:
context: ./services/users/project/db
dockerfile: Dockerfile
ports:
- 5435:5432
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
Файл Docker:
FROM python:3.6.9-slim
RUN apt-get update && \
apt-get install -y netcat && \
apt-get clean
WORKDIR /usr/src/app
COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip install -r requirements.txt
COPY ./entrypoint.sh /usr/src/app/entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh
COPY . /usr/src/app
CMD ["/usr/src/app/entrypoint.sh"]
entrypoint.sh:
#!/bin/sh
echo 'Waiting for postgres...'
while ! nc -z users-db 5432; do
sleep 0.1
done
echo 'PostgreSQL started'
python manage.py run -h 0.0.0.0
Контейнер Postgres работает просто отлично, но служба users
завершает работу, как только я его раскручиваю. Обычно я вбиваю контейнер и просматриваю логи, но тот факт, что контейнер сразу падает, исключает это как вариант.
Что я могу сделать?