Как правило, вы должны иметь возможность настроить контейнеры Docker таким образом, чтобы в контейнере вообще не было постоянного состояния;Вы можете свободно удалять и воссоздавать контейнер без потери данных.Лучший и самый простой случай - это контейнер, который зависит только от какой-то внешней базы данных, и в этом случае вам не нужно ничего делать.
Если у вас есть что-то вроде установки Wordpress с локальными настройками или что-то ещекоторый хранит постоянные данные в файловой системе, вы должны использовать опцию docker run -v
или опцию Docker Compose volumes:
, чтобы вставить части файловой системы хоста в контейнер.Затем необходимо выполнить резервное копирование этих томов (и, несмотря на то, что документация Docker поддерживает именованные тома, если вы используете каталоги хостов, ваше обычное решение для резервного копирования будет работать нормально.
Короче, я бы порекомендовал:
Создайте пользовательское изображение для своего приложения и проверьте Dockerfile и любые вспомогательные артефакты в управлении исходным кодом. Их не нужно отдельно резервировать, даже если выпотерять ваше изображение вы можете docker build
снова.
Внедрить настройки, используя bind mounts , и проверить эти настройки в управлении исходным кодом. Они не должны быть отдельнорезервное копирование.
Сохранение изменяемых данных с использованием томов или привязок и резервное копирование в обычном режиме.
Контейнеры одноразовые. Вам не нужно создавать резервную копию контейнера как такового , вы всегда должны иметь возможность воссоздать его из вышеперечисленных артефактов.