Docker: резервное копирование и восстановление контейнеров

Docker: резервное копирование и восстановление контейнеров

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

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

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

Начнем с поиска имени нашего контейнера и его идентификатора.

$ docker ps
$ docker ps

Из вышеприведенного вывода мы видим работающий контейнер Docker с именем thirsty_allen с идентификатором 86f6e942475a.

Теперь мы можем использовать команду docker commit, чтобы сделать снэпшот его текущего рабочего состояния:

$ docker commit -p 86f6e942475a thirsty_allen

При выполнении вышеуказанной команды мы сначала приостановили работающий контейнер с параметром -p, сделали коммит, чтобы сохранить весь снимок в виде образа Docker с именем thirsty_allen

$ docker images

Docker: резервное копирование и восстановление контейнеров

Теперь у нас есть резервная копия контейнера, сохраненная как образ, ожидающий повторного развертывания.

Если мы хотим повторно развернуть наш образ thirsty_allen на другом хосте, мы можем отправить образ в какой-нибудь частный репозиторий:

$ docker login
$ docker push thirsty_allen

В качестве альтернативы мы можем сохранить его как файл tar и свободно переместить в любую желаемую систему для развертывания:

# docker save -o ~/thirsty_allen.tar thirsty_allen
# ls -l ~/container1.tar
-rw-r--r--. 1 root root 131017216 Jun 14 20:31 /root/thirsty_allen.tar

Восстановление контейнера Docker

В предыдущем разделе объяснялось, как сделать резервную копию контейнера Docker.

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

В случае, если мы поместили нашу резервную копию образа контейнера в частный репозиторий, мы можем просто использовать команду docker run для запуска нового экземпляра из образа thirsty_allen

Если мы перенесли наш файл резервной копии container1.tar в другую систему, нам сначала нужно загрузить резервную копию tar-файла в локальный репозиторий образов Docker:

# docker load -i /root/thirsty_allen.tar

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

# docker images

Теперь мы можем использовать команду docker run, чтобы запустить новый экземпляр из загруженного выше образа.

Подписывайтесь на мой канал и ставьте лайки! А еще можете посетить мой сайт.