Чтобы понять процесс резервного копирования и восстановления контейнера Docker, нам сначала нужно понять разницу между образом Docker и контейнером Docker.
Образ Docker содержит операционную систему, возможно, с одним или несколькими предварительно настроенными приложениями, тогда как контейнер Docker – это работающий экземпляр, созданный из образа.
Когда нам нужно сделать резервную копию Docker контейнера, нам нужно использовать команду commit, чтобы зафиксировать его текущее состояние и сохранить его как образ Docker.
Начнем с поиска имени нашего контейнера и его идентификатора.
Из вышеприведенного вывода мы видим работающий контейнер Docker с именем thirsty_allen с идентификатором 86f6e942475a.
Теперь мы можем использовать команду docker commit, чтобы сделать снэпшот его текущего рабочего состояния:
$ docker commit -p 86f6e942475a thirsty_allen
При выполнении вышеуказанной команды мы сначала приостановили работающий контейнер с параметром -p, сделали коммит, чтобы сохранить весь снимок в виде образа Docker с именем thirsty_allen
$ docker images
Теперь у нас есть резервная копия контейнера, сохраненная как образ, ожидающий повторного развертывания.
Если мы хотим повторно развернуть наш образ 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, чтобы запустить новый экземпляр из загруженного выше образа.
Подписывайтесь на мой канал и ставьте лайки! А еще можете посетить мой сайт.