Данные Docker распределены по разным объектам и файлам Docker. К сожалению, не существует универсального подхода к созданию резервных копий
из
отдельные данные Docker. Тем не менее, несколько различных команд могут использоваться в комбинации. Мы покажем вам, как создавать и восстанавливать резервные копии Docker.
Облачное резервное копирование от IONOS
Забудьте о дорогостоящих простоях и создайте резервную копию своего бизнеса простым способом!
Миграции неизбежны во многих сценариях. Модернизация оборудования, смена центра обработки данных, устаревшая ОС — все это может стать отправной точкой для миграции.
В нашей роли Поставщиков технической поддержки
для веб-хостинговых компаний и поставщиков инфраструктуры мы предоставляем и управляем системами Docker для их целей.
Миграция контейнеров Docker часто является частью этой задачи. Сегодня мы увидим различные способы перемещения контейнера Docker на другой хост с существующего хоста.
Катастрофы нельзя предсказать или предотвратить, но вы всегда можете быстро оправиться от них, если у вас есть адекватные планы резервного копирования для вашего бизнеса.
Это делает резервные копии данных незаменимыми для любого онлайн-бизнеса. Сокращая время на восстановление рухнувшего бизнеса, резервные копии помогают спасти бизнес и свести к минимуму убытки.
В системах Docker контейнеры используются для размещения приложений или служб. Сегодня мы увидим, как выполнять функции резервного копирования и восстановления контейнеров в Docker.
В Docker данные делятся на две категории: образы Docker для создания контейнеров и данные контейнера. Данные контейнера могут храниться в контейнерах или томах данных.
- На заметку.
- Как сделать резервную копию контейнеров Docker
- ПРЕДОТВРАТИТЕ СБОЙ ВАШЕГО СЕРВЕРА!
- Как восстановить контейнеры Docker
- Пошаговое руководство по созданию резервных копий Docker
- Создать резервный контейнер Docker
- Создать резервную копию образа Docker
- Создание резервной копии тома Docker
- Резервное копирование папки проекта Docker Compose
- Создание резервной копии Dockerfile
- Создание резервной копии из базы данных в контейнере Docker
- Как восстановить тома данных Docker
- Пошаговое руководство по восстановлению резервных копий Docker
- Восстановление контейнеров Docker из резервной копии
- Восстановить образ Docker из резервной копии
- Восстановление резервной копии тома на хосте Docker
- Восстановление папки проекта Docker Compose из резервной копии
- Восстановление Dockerfile из резервной копии
- Восстановление базы данных в контейнер Docker из резервной копии
- Как перенести контейнер Docker на другой хост
- 1. Экспортно-импортные контейнеры
- 2. Миграция образа контейнера
- 3. Сохранение и загрузка изображений
- 4. Перенос томов данных
- 5. Переместить целые контейнеры Docker
- Как сделать резервную копию томов данных Docker
- Что следует учитывать при создании резервных копий Docker?
- Резервные копии каких компонентов Docker необходимо создавать?
- Где хранятся данные контейнера Docker?
- Заключение
На заметку.
Сегодня мы увидели, как выполнять резервное копирование и восстановление докеров. Вот несколько моментов, о которых следует помнить во время резервного копирования.
1. Резервные копии должны иметь правильные имена для идентификации и легкого восстановления.
2. Резервные копии следует регулярно менять или перемещать в другое хранилище, чтобы избежать ошибок «переполнение диска».
3. Резервные копии должны включать всю необходимую информацию, такую как данные реестра и файлы конфигурации.
4. Резервные копии должны регулярно тестироваться и проверяться на адекватность.
5. Восстановление из резервной копии следует выполнять с максимальной осторожностью, иначе вы можете ошибочно уничтожить контейнеры.
Bobcares помогает компаниям свести к минимуму время простоя с помощью наших услуг по управлению резервным копированием, которые варьируются от составления плана резервного копирования до быстрого восстановления данных.
Если вы хотите узнать, как управлять ресурсами инфраструктуры Docker, чтобы получить максимальную отдачу от них для вашего бизнеса, мы будем рады поговорить с вами
.
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
Как сделать резервную копию контейнеров Docker
1. Перед резервным копированием контейнера необходимо определить его идентификатор контейнера. Чтобы узнать идентификатор контейнера экземпляра Docker, вы можете перечислить контейнеры в этой системе.
Список контейнеров на машине Docker можно просмотреть с помощью команды «docker ps».

Список контейнеров Docker
docker commit -p имя-резервной копии идентификатора-контейнера Идентификатор контейнера можно получить из списка «docker ps», а «имя резервной копии» можно выбрать на основе вашей политики резервного копирования.

Сделать резервную копию контейнера Docker
В этом фрагменте показана резервная копия контейнера «679facd4ee38» (контейнер WordPress), взятая под именем «backup-01».
3. Образ резервной копии контейнера, также известный как «моментальный снимок», будет создан с именем «backup-01» и будет указан в списке «образы докеров»:

Образ резервной копии контейнера Docker
Этот образ контейнера можно использовать для его последующего восстановления и получения состояния контейнера на момент создания этого снимка.
4. Не рекомендуется хранить резервные копии на том же хост-компьютере Docker, что и контейнер, так как аппаратный сбой в нем также может повредить резервные копии.
Поэтому мы обычно конвертируем эти резервные копии в сжатые форматы, такие как файлы «tar», и копируем их на внешний сервер.
Файл tar для образа резервной копии можно создать с помощью команды:
docker save -o имя-резервной копии.tar имя-резервной копии 5. Будет создан tar-файл, как показано на рисунке, который можно скопировать во внешние папки с помощью инструментов «rsync» или «scp».

Сжатый tar-файл образа резервной копии контейнера
Такие инструменты, как docker-backup, также можно настроить для создания резервных копий контейнеров. В Bobcare мы используем специальные сценарии для резервного копирования.
Сценарии резервного копирования docker компилируются на основе таких параметров, как частота резервного копирования, место хранения, приоритет и важность контейнера и т. д.
ПРЕДОТВРАТИТЕ СБОЙ ВАШЕГО СЕРВЕРА!
Никогда больше не теряйте клиентов из-за низкой скорости сервера! Позвольте нам помочь вам.
Наши специалисты по серверам будут контролировать и обслуживать ваш сервер 24/7, чтобы он оставался молниеносно быстрым и безопасным.
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
Как восстановить контейнеры Docker
1. Чтобы восстановить контейнер Docker из резервной копии, сначала убедитесь, что образ резервной копии присутствует на хост-компьютере.
Если нет, загрузите резервные копии с помощью команды ‘‘. Подтвердите наличие образа на сервере с помощью команды ‘‘.

Загрузить образ резервной копии докера на хост
2. Когда образы резервных копий будут перечислены на хосте Docker, вы можете восстановить контейнер, используя команду «docker run» и указав образ резервной копии.
Например, новый контейнер с именем «new-wp1» был создан с использованием резервной копии «backup-01» на нашем демо-сервере докеров.

Восстановить образ резервной копии в новый контейнер
Пошаговое руководство по созданию резервных копий Docker
A tarball-архив
обычно создается для резервной копии Docker с помощью команды tar. Общую команду для создания файла архива tar можно найти ниже:
tar -cvf <path/to/archive-file>.tar <path/to/file-or-folder> Однако в архив включается весь путь к заархивированной папке
при включении. Это может быть проблематично при восстановлении. Поэтому доступен альтернативный подход:
cd <path/to/file-or-folder> && tar -cvf <path/to/archive-file>.tar . Во-первых, мы должны перейти в папку для архивации
и примените команду tar к текущей папке. Текущая папка обозначается точкой (.) в командной строке. Комбинируя эти два шага с &&
оператор
гарантирует, что архивирование выполняется только в случае успешного изменения папки назначения.
.tar
файлы
созданные при архивировании данных Docker, можно найти в хост-системе. Архивные файлы должны быть перенесены в резервную систему
для создания резервной копии. Это можно сделать с помощью внешнего хранилища или облачного хранилища. Для передачи могут использоваться специальные инструменты, такие как Rsync или S3.
Предполагая, что файлы резервных копий находятся в папке /backup/
папка в домашнем каталоге
как только они будут созданы, создайте папку в качестве подготовительного шага:
Создать резервный контейнер Docker
Данные, найденные в контейнере Docker , хранятся в слоях, доступных только для чтения, в объединенной файловой системе
. Контейнер Docker основан на образе, доступном только для чтения, и содержит дополнительный доступный для записи слой в дополнение к слоям образа.
Необходимо создать новый образ из работающего контейнера для постоянного резервного копирования данных в доступном для записи слое
. Для этого необходимо использовать команду «docker commit». Содержимое образа в виде tarball-архива должно быть скопировано:
- Запись файловой системы Docker в образ
docker container commit <container-id> <backup-name> - Экспорт полученного изображения в виде tar-архива
docker image save --output ~/backup/<backup-name>.tar <backup-name> В качестве альтернативы можно отправить полученный образ в репозиторий с помощью команды «docker image push»:
docker image push <backup-name> Команда «docker container export» также может использоваться для экспорта файловой системы контейнера. Однако это сводит все слои к одному слою. Поэтому такой подход не подходит для создания резервной копии.
Создать резервную копию образа Docker
Мы используем знакомый подход к резервному копированию образа Docker, доступного на локальном хосте
. Данные изображения должны быть записаны в tarball-архив:
docker image save --output ~/backup/<image-name>.tar <image-name> Создание резервной копии тома Docker
Создание резервной копии тома Docker — сложный процесс. Мы должны различать «привязанные монтирования», «именованные» и «анонимные» тома Docker. Доступ к привязке из файловой системы хоста прост
, так что просто создать tarball-архив этой папки:
cd <path/to/docker-mount/> && tar -cvf ~/backup/<volume-backup>.tar . Создание резервной копии именованного или анонимного тома из Docker представляет собой другую ситуацию, поскольку доступ к томам возможен только в работающем контейнере Docker
. Хитрость для архивирования данных, содержащихся в томе Docker, заключается в запуске контейнера с доступом к тому. Затем данные тома архивируются из работающего контейнера. Давайте посмотрим на отдельные этапы процесса:
- Стопорный контейнер с доступом к объему
docker stop <container-id> - Запустить временный контейнер и извлечь данные тома
Временный контейнер имеет доступ к нужным томам, а также к папке резервного копирования на хосте.
docker run --rm --volumes-from <container-id> --volume ~/backup:/backup ubuntu bash -c "cd <path/to/volume/data> && tar -cvf /backup/<volume-backup>.tar ." - Перезапустить контейнер с доступом к тому
docker start <container-id> Команда для извлечения данных тома сложная
. Давайте подробно рассмотрим отдельные компоненты:
Резервное копирование папки проекта Docker Compose
Архив папки должен быть создан для резервного копирования папки проекта Docker Compose
:
cd <path/to/docker-compose-dir> && tar -cvf ~/backup/<compose-backup>.tar . Рекомендуется создать версию docker-compose.yaml
файл с помощью Git. Важно хранить конфиденциальные данные, такие как пароли, в отдельном .env
файл
и исключить их из проверки версий с помощью .gitignore.
Создание резервной копии Dockerfile
Перейдите в папку, содержащую Dockerfile, и создайте tar-архив Dockerfile для полной резервной копии Dockerfile
:
cd <path/to/dockerfile-dir> && tar -cvf ~/backup/<dockerfile-backup>.tar ./Dockerfile Рекомендуется создать версию файла с именем «Dockerfile» с помощью Git. Важно хранить конфиденциальные данные, такие как пароли, в отдельном .env
файл
и исключить его из проверки версий с помощью .gitignore
.
Создание резервной копии из базы данных в контейнере Docker
В наши дни базы данных обычно контейнеризируются. Инструменты резервного копирования для конкретной базы данных обычно используются для создания резервной копии базы данных, работающей в контейнере Docker
, такие как mysqldump и pg_dump.
Соответствующий инструмент резервного копирования работает в контейнере Docker
. Для этого необходимо использовать команду «docker exec», что показано ниже на примере из базы данных MySQL. Команда «mysqldump» работает внутри контейнера. Полученный дамп отправляется на стандартный вывод хост-шелла. Файл дампа SQL должен быть записан в резервную папку локального хоста с использованием перенаправления:
docker exec <container-id> /usr/bin/mysqldump --user=root --password=<password> <dbname> > ~/backup/<dbname>.sql docker exec <container-id> pg_dump --format=custom --dbname=<dbname> > ~/backup/<dbname>.dump Также может быть создан классический дамп SQL с открытым текстом
. Просто добавьте опции «—clean» и «—if-exists». Цель состоит в том, чтобы очистить целевую базу данных перед импортом, чтобы дамп можно было импортировать в исходную систему без сообщений об ошибках:
docker exec <container-id> pg_dump --format=plain --clean --if-exists --dbname=<dbname> > ~/backup/<dbname>.dump Как восстановить тома данных Docker
Чтобы восстановить контейнер с использованием резервной копии томов данных, сначала создайте новый контейнер, указав том данных и имена контейнеров:
docker run -v /data-directory --name новое-имя-контейнера ubuntu /bin/bash Следующим шагом является распаковка созданного файла резервной копии в том нового контейнера данных:
docker run --rm --volumes-from new-container-name -v $(pwd):/backup ubuntu bash -c "cd /data-directory && tar xvf /backup/backup. смола --полоса 1 дюйм Вы получите новый контейнер с данными, восстановленными из резервной копии. Также возможно восстановить данные в существующий контейнер.
Пошаговое руководство по восстановлению резервных копий Docker
Рассмотрено создание резервных копий данных Docker. Теперь мы обратим внимание на восстановление данных из резервных копий Docker
для оставшейся части этой статьи. Мы предполагаем, что все резервные копии доступны на локальном хосте в каталоге ~/backup/
папка. Возможно, сначала потребуется скопировать резервные копии с носителя резервных копий в папку резервных копий.
Восстановление контейнеров Docker из резервной копии
Быстрое напоминание; мы создаем новый образ из работающего контейнера, а затем сохраняем его как файл архива tarball, чтобы создать резервную копию контейнера Docker. Используйте команду «docker image load», чтобы восстановить образ Docker из архива tarball
:
docker image load --input ~/backup/<image-name>.tar Запустить новый контейнер из полученного образа
. Мы используем опцию «-detach», чтобы запустить контейнер в фоновом режиме:
docker run --detach <image-id> Используйте команду «docker image ls», чтобы отобразить список доступных образов Docker вместе с их именами и идентификаторами.
Восстановить образ Docker из резервной копии
Мы уже описывали восстановление образа Docker из архива tarball.
Следует использовать команду «docker image load»:
docker image load --input ~/backup/<image-name>.tar Восстановление резервной копии тома на хосте Docker
Восстановление данных тома Docker из резервной копии — сложный процесс. Точная процедура зависит от конкретного сценария развертывания. Мы покажем, как перезаписать данные тома из резервной копии
. Мы предполагаем, что система такая же, как и та, в которой была создана резервная копия, поэтому все контейнеры, тома и другие задействованные объекты Docker присутствуют. Процесс усложняется, если система только что настроена.
Для восстановления резервной копии тома Docker требуется временный контейнер с доступом к тому
. Мы уже описали, как именно работает команда Docker. Мы подробно проиллюстрируем отдельные этапы процесса:
- Остановка контейнеров, использующих том
docker stop <container-id> - Запустить временный контейнер с доступом к тому и скопировать данные Docker из резервной копии на том
docker run --rm --volumes-from <container-id> --volume ~/backup:/backup ubuntu bash -c "cd <path/to/volume/data> && tar -xvf /backup/<volume-backup>.tar" - Перезапустить контейнеры, которые используют том
docker start <container-id> Восстановление папки проекта Docker Compose из резервной копии
Восстановить папку проекта Docker Compose из резервной копии очень просто. Перейдите в папку Docker Compose и распакуйте туда архив tarball. Существующие данные будут перезаписаны в процессе.
cd <path/to/docker-compose-dir> && tar -xvf ~/backup/<compose-backup>.tar Восстановление Dockerfile из резервной копии
Восстановить файл Dockerfile из tarball-архива очень просто. Просто распакуйте tarball-архив в папку Dockerfile. Существующий Dockerfile будет перезаписан.
cd <path/to/dockerfile-dir> && tar -xvf ~/backup/<dockerfile-backup>.tar Восстановление базы данных в контейнер Docker из резервной копии
Используйте команду «docker exec» для восстановления базы данных, расположенной в контейнере Docker, из резервной копии. Опция «—interactive» запускает контейнер в интерактивном режиме и оставляет открытым стандартный ввод.
Вывод содержимого дампа MySQL с помощью команды cat и передача вывода команде Docker на локальном хосте. Выполняется команда mysql
внутри контейнера и обрабатывает операторы SQL
который перестраивает базу данных.
cat ~/backup/<dbname>.sql | docker exec --interactive <container-id> /usr/bin/mysql --user=root --password=<password> <dbname> Процесс восстановления базы данных PostgreSQL несколько сложнее. В зависимости от формата дампа базы данных можно использовать один из двух доступных инструментов. Запустите инструмент pg_restore внутри контейнера, чтобы восстановить дамп базы данных в «пользовательском» формате PostgreSQL
. Используйте перенаправление ввода, чтобы передать файл дампа в качестве ввода:
docker exec --interactive <container-id> pg_restore --dbname=<dbname> < ~/backup/<dbname>.dump Восстановление простого текстового дампа базы данных PostgreSQL
аналогично восстановлению дампа MySQL. Мы создаем файл дампа с помощью команды cat и передаем вывод команде «docker exec» с параметром «—interactive». Внутри контейнера выполняется команда psql, которая обрабатывает SQL-команды и перестраивает базу данных.
cat ~/backup/<dbname>.sql | docker exec --interactive <container-id> psql --user=root --password=<password> <dbname> Как перенести контейнер Docker на другой хост
Не существует простого способа напрямую переместить контейнер Docker с одного хоста на другой. Мы обходим это, используя один или несколько из этих методов миграции.
1. Экспортно-импортные контейнеры
Экспорт контейнера означает создание сжатого файла из файловой системы контейнера. Экспортированный файл сохраняется как файл «gzip».
Этот сжатый файл затем копируется на новый хост с помощью инструментов передачи файлов, таких как scp или rsync. На новом хосте этот файл gzip затем импортируется в новый контейнер.
Доступ к новому контейнеру, созданному на новом хосте, можно получить с помощью команды «docker run».
Одним из недостатков инструмента экспорта является то, что он не копирует порты и переменные или базовый том данных, содержащий данные контейнера.
Это может привести к ошибкам при попытке загрузить контейнер на другой хост. В таких случаях мы выбираем миграцию образа Docker для перемещения контейнеров с одного хоста на другой.
2. Миграция образа контейнера
Наиболее часто используемый метод перемещения контейнера Docker на другой хост — перенос образа, связанного с этим контейнером.
Для контейнера, который необходимо переместить, сначала его образ Docker сохраняется в сжатый файл с помощью команды «docker commit».
docker commit container-id имя-изображения Сгенерированное изображение сжимается и перемещается на новый хост-компьютер. На новом хосте создается новый контейнер с помощью «docker run».
При использовании этого метода объемы данных не будут перенесены, но он сохранит данные приложения, созданного внутри контейнера.
3. Сохранение и загрузка изображений
Docker-образ — это пакет кода, библиотек, файлов конфигурации и т. д. для приложения. Контейнеры Docker создаются из этих образов.
Изображения можно сжать с помощью «docker save» и перенести на новый хост.
docker save image-name > image-name.tar На новом хосте этот файл сжатого образа можно использовать для создания нового образа с помощью «загрузки докера».
4. Перенос томов данных
Когда контейнеры или образы Docker перемещаются с одного хоста на другой с помощью инструментов экспорта или фиксации, базовый том данных не переносится.
В таких ситуациях каталог, содержащий данные, вручную перемещается на новый хост. Затем там создаются контейнеры со ссылкой на этот каталог как на его том данных.
Еще один надежный метод — резервное копирование и восстановление тома данных путем передачи параметра «–volumes-from» в команду «docker run».
docker run --rm --volumes-from datavolume-name -v $(pwd):/backup image-name tar cvf backup.tar /path-to-datavolume Здесь, datavolume-name
это /путь/к/тому
. Эта команда обеспечивает резервное копирование тома данных. Чтобы указать рабочий каталог, мы можем указать -w /backup
также. Резервная копия, созданная в /backup
Папка может быть перемещена на новый хост с помощью инструментов scp или ftp.
Скопированная резервная копия затем извлекается и восстанавливается в томе данных в новом контейнере.
docker run --rm --volumes-from datavolume-name -v $(pwd):/backup image-name bash -c "cd /path-to-datavolume && tar xvf /backup/ backup.tar --strip 1" 5. Переместить целые контейнеры Docker
Методы, которые мы видели здесь, применимы к отдельным контейнерам. Но в случаях, когда все контейнеры нужно перенести с одного хоста на другой, мы используем другой метод.
Этот метод включает копирование всего каталога «/var/lib/docker» на новый хост. Чтобы сделать этот метод успешным, обеспечивается несколько критических точек.
- Права доступа и права собственности на папки сохранены.
- Служба Docker остановлена перед перемещением.
- Версии Docker на двух хостах проверены на совместимость.
- Список контейнеров и их функциональность проверяются до и после перемещения.
- Сохранены пути к точкам входа и другим конфигурационным файлам.
В тех случаях, когда этот метод не работает из-за каких-либо сбоев, мы настраиваем пользовательские сценарии для переноса контейнеров и образов с одного хоста на другой.
Как сделать резервную копию томов данных Docker
Данные, хранящиеся внутри контейнеров, не являются постоянными и будут потеряны при перезагрузке. В результате многие машины Docker теперь используют тома данных.
Тома данных обычно хранятся в папке «/var/lib/docker/volumes» и могут быть перечислены с помощью команды « docker volume ls».

Объемы данных в Docker
Чтобы создать резервную копию контейнера, данные которого хранятся в томах данных, выполните следующую команду:
docker run --rm --volumes-from container-to-backup -v $():/backup ubuntu tar cvf /backup/backup.tar /data-directory Указываемые параметры:
container-to-backup — укажите имя контейнера, резервную копию которого нужно сделать $(pwd):/backup — вы можете заменить '/backup' на папку с резервной копией backup.tar — вы можете указать имя файла резервной копии data-directory - указать путь к папке назначения для контейнера.
Чтобы узнать этот каталог данных (местоположение тома данных) контейнера, используйте команду ‘‘.
Вы получите раздел под названием «». Параметр ‘‘ в этом разделе будет указывать каталог для этого контейнера.

Определите каталог назначения для контейнера
Мы выполнили эту команду для успешного создания резервной копии контейнера «ifs_wordpress_1» в файле «backup.tar»:
docker run –rm –volumes-from ifs_wordpress_1 -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /var/www/html
Эта команда создала новый контейнер из существующего контейнера, и его объем данных был скопирован в файл «backup.tar» внутри каталога резервного копирования.
Вновь созданный контейнер будет удален, и у вас останется резервный файл для контейнера.
-rw-r--r-- 1 root root 8.6G 25 окт 14:46 backup.tar Файлы этой резервной копии позже были скопированы на внешний сервер для безопасного хранения с использованием наших пользовательских сценариев для регулярного резервного копирования.
Что следует учитывать при создании резервных копий Docker?
Нет специального инструмента резервного копирования Docker
доступны, такие как резервная копия MySQL с mysqldump
или резервная копия PostgreSQL с помощью pg_dump
. Хотя поиск команды «резервный том docker» или «контейнер резервного копирования docker» не увенчается успехом, существуют альтернативные подходы, которые включают отдельные компоненты Docker в резервные копии. Во-первых, мы должны посмотреть, какие компоненты Docker должны быть скопированы.
Резервные копии каких компонентов Docker необходимо создавать?
Как правило, резервные копии должны быть сделаны для всех данных, которые невозможно восстановить, если они каким-то образом утеряны
. В случае Докера есть как минимум три типа данных:
- Объекты Docker
: они управляются демоном Docker, а данные хранятся в специальном каталоге. Между расположенными там файлами и данными в Docker-контейнере нет однозначного соответствия. Мы создадим резервные копии следующих объектов Docker:- Docker-контейнер
- Тома Docker
- Образ Docker
- Файлы сборки Docker
: ими управляет пользователь, и их можно найти в произвольных папках хост-системы. Файлы сборки можно легко скопировать и заархивировать. Мы создадим резервные копии следующих файлов сборки Docker:- Папка проекта Docker Compose
- Dockerfiles
- Базы данных
внутри контейнера: они экспортируются из контейнера в виде файлов дампа. Создадим резервные копии баз данных для следующих систем:- БД MySQL
- База данных PostgreSQL
Создание резервных копий Docker включает запись данных в архивные файлы на хост-системе
. Затем архивные файлы копируются из локальной системы в систему резервного копирования.
Возможно, стоит автоматизировать процесс, если создается много резервных копий Docker. Сложные сценарии, упрощающие создание резервных копий Docker
доступны на GitHub. Разработчик Андреас Лауб предоставляет ряд практических инструментов резервного копирования Docker
под лицензией с открытым исходным кодом.
Где хранятся данные контейнера Docker?
Данные должны быть скопированы для создания резервной копии. Во-первых, нам нужно знать, где находятся данные. Во вселенной Docker томов докеров
служат местами хранения для обмена между контейнерами Docker и хост-системой
или между несколькими контейнерами.
A Докер-контейнер
создается из образа Docker, доступного только для чтения
. Изготовление
изменения в работающем контейнере могут быть рискованными
и привести к потерям при снятии контейнера. Данные могут быть постоянно зарезервированы путем экспорта из работающего контейнера.
Данные контейнера также можно хранить в работающем контейнере вместе с томами Docker. Эти данные попадают в доступный для записи уровень хранения файловой системы контейнера
. Это не идеально в большинстве случаев. Поэтому рекомендуется разумно настроить систему и использовать том Docker.
Сложно определить, где именно хранятся данные контейнера, поскольку существует более одного типа тома Docker. Есть тонкие различия
в расположении и судьбе данных при удалении контейнера в зависимости от типа используемого тома
. Ниже представлен обзор основных компонентов хранилища Docker:
Заключение
Контейнеры Docker широко используются в DevOps и нишевом веб-хостинге. Сегодня мы обсудили различные способы, которыми наши инженеры службы поддержки Docker
переместить контейнер Docker на другой хост в инфраструктуре Docker, которой мы управляем.

