Перейти к содержимому
Главная страница » Backup Docker контейнеров

Backup Docker контейнеров

Часто возникает вопрос, нужно ли создавать резервные копии контейнеров Docker.

На первый взгляд, поскольку работающий контейнер является временным, может показаться, что это не так. Однако при проверке closer имеет смысл создавать резервные копии контейнеров docker для защиты от сбоев.

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

Резервная копия Docker Container

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

Но что произойдёт, если из-за ошибки выйдет из строя весь кластер, узлы контейнеров и связанное с ними постоянное хранилище.

Проще говоря, в зависимости от того, как реализовано приложение и его данные, может потребоваться резервное копирование.

Как создать резервную копию контейнеров Docker

Прежде чем создавать резервную копию контейнера Docker, нам нужно container ID получить идентификатор этого конкретного контейнера. Здесь мы воспользуемся ps командой для получения идентификаторов всех запущенных контейнеров.

Отсюда мы можем скопировать container IDконтейнер, который нам нужно создать.

Итак, чтобы вывести список всех идентификаторов запущенных контейнеров, используйте следующую команду:

docker ps -a

В результатах мы найдем файл container ID контейнера docker, который мы хотим создать резервную копию, скопируем его, а затем используем с помощью команды Docker commit . Format для этой команды:

docker commit −p <CONTAINER_ID> <BACKUP_NAME>

Итак, например, если container ID имя нашего контейнера — 5c7d78fcb634, а имя нашей резервной копии — our-docker-backup, команда будет выглядеть так:

docker commit −p 5c7d78fcb634 our-docker-backup

С помощью этой команды мы сначала приостановили работающий контейнер с помощью опции -p и сделали коммит, чтобы сохранить весь снимок в виде образа Docker с именем our-docker-backup.

Мы также можем сохранить изображение в видеtarфайла на нашем локальном компьютере с помощью команды:

docker save −o ∽/our-docker-backup.tar our-docker-backup

Мы можем проверить, был ли сохранен файл, используя команду:

ls −l ∽/our-docker-backup.tar

Когда он сохранен в виде tar файла, мы можем переместить его в любую другую желаемую систему Docker для развертывания.

Мы также можем повторно развернуть наш our-docker-backup образ на другом хосте Docker, используя команду push для отправки образа в частный репозиторий Docker.

Для этого будем использовать команду:

docker login
docker push our-docker-backup

Теперь, когда мы создали резервную копию нашего контейнера Docker, давайте рассмотрим процедуру восстановления контейнеров Docker локально или на другом компьютере.

Как восстановить резервную копию Docker

Если мы сохранили tar файл на нашем хост-компьютере, мы можем восстановить его с помощью команды docker load . Для этого мы воспользуемся командой:

docker load −i ∽/our-docker-backup.tar

Чтобы убедиться, что изображение было успешно восстановлено, мы можем вывести список всех изображений с помощью следующей команды:

docker images

Если мы загрузили образ резервной копии в репозиторий Docker, мы можем использовать команду pull для извлечения данных из репозитория.

Здесь мы воспользуемся командой:

docker pull our-docker-backup:tag

Как только мы восстановим резервный образ на нашем локальном компьютере, мы сможем использовать run команду для запуска нового экземпляра образа Docker для восстановления. Для этого мы используем команду:

docker run −ti our-docker-backup:tag

Ссылки

Docker Desktop: Backup and Restore

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *