Я новичок в Docker и создаю многоконтейнерное приложение, использующее файл docker-compose, который включает базу данных Postgres и приложение Django / Wagtail.Я понимаю концепцию резервного копирования / восстановления данных, записанных в базу данных в объеме.Но у меня возникают проблемы с выбором параметров для сохранения содержимого, такого как статические файлы, файлы конфигурации приложения. Проще говоря, после того, как я запустил свой первоначальный Docker-контейнер и изменил модели БД, произвел миграцию и создал шаблоны (например) - Как это сделать?Я делаю сделать этот контент доступным, чтобы можно было запустить вновь созданный образ приложения, который отражает текущее состояние?Должен ли я использовать COPY или ADD в dockerfile или ссылаться на том для этих файлов в docker-compose.yml?Вот docker-compose.yml и dockerfile, которые являются отправной точкой, взятой из образа Dockerhub и соответствующих инструкций по сборке Github.https://github.com/fffunction/setting-up-wagtail-with-docker
dockerfile
FROM python:3.4
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV LANG en_US.UTF-8
ENV PYTHONIOENCODING utf_8
docker-compose.yml
web:
build: .
dockerfile: .dockerfile
command: python manage.py runserver 0.0.0.0:80
volumes:
- ./:/usr/src/app
links:
- postgres
- elasticsearch
ports:
- "80:80"
environment:
- DEBUG=True
- DEV=True
- DATABASE_URL=postgres://postgres:@postgres:5432/postgres
- ELASTICSEARCH_URL=http://elasticsearch:9200
- SECRET_KEY=notasecretreplaceme
postgres:
image: postgres
ports:
- "5432:5432"
elasticsearch:
image: orchardup/elasticsearch
ports:
- "9200:9200"