Как сделать так, чтобы данные в таблице сохранялись даже после удаления контейнеров?

Моя цель - сохранить данные даже после удаления и восстановления контейнеров. Точнее, я хочу сохранить данные даже после выполнения команд типа "docker-comand down" или "docker-comand up -d --build". Мое окружение

<

Docker Django PostgreSQL Nginx Gunicorn
version: '3.8'

services:
  web:
    build:
      context: ./app
      dockerfile: Dockerfile.prod
    command: gunicorn ecap.wsgi:application --bind 0.0.0.0:8000
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    expose:
      - 8000
    env_file:
      - ./.env.prod
    depends_on:
      - db
  db:
    image: postgres:13.0-alpine
    volumes:
      - db_data:/var/lib/postgresql/data/
    env_file:
      - ./.env.prod.db
  nginx:
    build: ./nginx
    volumes:
      - ./static_volume:/home/app/web/staticfiles
      - ./media_volume:/home/app/web/mediafiles
    ports:
      - 80
    depends_on:
      - web

volumes:
  db_data:
  static_volume:
  media_volume:

Я предполагаю, что проблема в том, как записать тома в файл yml. Хотя я следовал показанному пути, я не могу сохранить данные.

Проблема заключается в файле entrypoint.sh. В файле есть код python manage.py flush --no-input. Когда я удалил этот код, данные могут сохраняться.

Вернуться на верх