Можно ли создать резервную копию контейнера Docker со всеми томами / данными / состоянием? - PullRequest
0 голосов
/ 18 июня 2019

Я новичок в Docker, и мне было интересно, можно ли настроить следующее:

У меня есть персональный компьютер, на котором я работаю на своем сайте WordPress через Dockerfile.Все у него хорошо, а данные постоянны.

Я хотел бы сохранить эту работу на Docker Hub, возможно, или на Github (я предполагаю, что обновленные образы будут сохранены на моем Docker Hub)и работаю на совершенно другом компьютере, подбирая там, где я остановился.

Возможно ли это?

1 Ответ

0 голосов
/ 18 июня 2019

Как правило, вы должны иметь возможность настроить контейнеры Docker таким образом, чтобы в контейнере вообще не было постоянного состояния;Вы можете свободно удалять и воссоздавать контейнер без потери данных.Лучший и самый простой случай - это контейнер, который зависит только от какой-то внешней базы данных, и в этом случае вам не нужно ничего делать.

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

Короче, я бы порекомендовал:

  • Создайте пользовательское изображение для своего приложения и проверьте Dockerfile и любые вспомогательные артефакты в управлении исходным кодом. Их не нужно отдельно резервировать, даже если выпотерять ваше изображение вы можете docker build снова.

  • Внедрить настройки, используя bind mounts , и проверить эти настройки в управлении исходным кодом. Они не должны быть отдельнорезервное копирование.

  • Сохранение изменяемых данных с использованием томов или привязок и резервное копирование в обычном режиме.

  • Контейнеры одноразовые. Вам не нужно создавать резервную копию контейнера как такового , вы всегда должны иметь возможность воссоздать его из вышеперечисленных артефактов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...