В общем есть проект с Django, Postgresql, Docker, и я не очень доверяю Docker.
Можно ли как-то защитить volume с базой данных от случайного удаления (например командой docker-compose down -v) и периодически делать бэкап бд?
Конфиг docker-compose.yml такой::
version: '3.7'
services:
db:
restart: always
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=xxxx
- POSTGRES_PASSWORD=xxxx
- POSTGRES_DB=xxxxx
env_file:
- ./.env.prod
web:
restart: always
build:
context: ./
dockerfile: Dockerfile
command: >
sh -c "gunicorn -w 2 -b 0.0.0.0:8000 project.wsgi:application"
volumes:
#python manage.py migrate
#python manage.py collectstatic --noinput &&
#python manage.py runserver 0.0.0.0:8000
#- .:/home/app/web
- static_volume:/home/app/web/static
- media_volume:/home/app/web/media
#ports:
#- '8000:8000'
expose:
- 8000
env_file:
- ./.env.prod
depends_on:
- db
nginx:
restart: always
build: ./nginx
volumes:
- static_volume:/home/app/web/static
- media_volume:/home/app/web/media
ports:
- 80:80
depends_on:
- web
volumes:
postgres_data:
static_volume:
media_volume: