Перейти к содержимому
Главная страница » Как сохранить и загрузить образ Docker из tar файла

Как сохранить и загрузить образ Docker из tar файла

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

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

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

Чтобы обмениваться образами Docker между компьютерами или с другими пользователями, их можно отправить в реестр Docker, например в Docker Hub. Это позволяет пользователям легко делиться своими образами с другими, развертывать их в разных средах и совместно работать над приложениями.

Однако в некоторых случаях пользователям может потребоваться распространять образы Docker традиционным способом или без подключения к Интернету. В таких ситуациях может быть очень полезен метод сохранения и загрузки образов в файл. Сохранение образов Docker в файл позволяет пользователям создавать переносимый автономный архив образов, который можно распространять с помощью USB-накопителей, DVD-дисков или других физических носителей.

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

Сохранение образа Docker в tar файл

Откройте окно терминала или командную строку.

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

docker save -o <file-name.tar> <image-name>

Замените на имя, которое вы хотите присвоить сохранённому файлу, и на имя образа Docker, который вы хотите сохранить.

Приведённая выше команда сохранит образ Docker в виде архива в текущем рабочем каталоге.

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

ls -l <file-name.tar>

При этом будет отображен размер файла и другая информация о сохраненном файле.

Загрузка образа Docker из tar файла

Скопируйте сохраненный файл на целевой компьютер.

Откройте окно терминала или командную строку на целевом компьютере.

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

docker load -i <file-name.tar>

Замените на имя сохраненного файла.

Приведённая выше команда загрузит образ Docker из сохранённого файла в локальный репозиторий образов Docker на целевом компьютере. Затем вы сможете использовать этот образ как обычно.

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

docker images

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

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

Таким образом, сохранение и загрузка образов Docker в файл — это простой и эффективный способ распространения образов Docker традиционным способом или в автономных средах. Выполнив эти действия, пользователи смогут легко переносить свои образы, создавать резервные копии и развертывать приложения Docker в самых разных средах.

Команды docker export и docker import

Команды docker export и docker import используются для работы с файловыми системами контейнеров, а не с образами Docker. Они позволяют экспортировать файловую систему контейнера в архив и импортировать её обратно в Docker. Вот как они работают:

docker export — Выполняет экспорт файловой системы контейнера

Эта команда экспортирует файловую систему работающего или остановленного контейнера в tar-архив. Она не сохраняет метаданные образа, такие как история слоёв, переменные окружения, команды по умолчанию и т.д.

Синтаксис:

docker export <container_id_or_name> -o <output_file.tar>

Пример:

docker export my-container -o my-container-fs.tar

Где:

  • my-container — имя или ID контейнера.
  • -o my-container-fs.tar — указывает имя выходного файла.
Экспортируется только файловая система контейнера, без метаданных Docker.
Это полезно, если вам нужно сохранить состояние файловой системы контейнера для дальнейшего использования.

docker import — Выполняет импорт файловой системы в новый образ

Эта команда создаёт новый Docker-образ из tar-архива, содержащего файловую систему.

В отличие от docker load, она не восстанавливает слои образа, а создаёт новый образ из предоставленного архива.

Синтаксис:

docker import <path_to_file.tar> <repository>:<tag>

Пример:

docker import my-container-fs.tar my-new-image:latest

Где:

  • my-container-fs.tar — путь к tar-архиву.
  • my-new-image:latest — имя и тег нового образа.

Примечание:

  • При импорте можно указать дополнительные параметры, такие как --change, чтобы изменить конфигурацию образа (например, команду по умолчанию или переменные окружения).
  • Импортированный образ будет содержать только один слой, в отличие от многослойных образов, созданных с помощью docker build.

Пример использования

Экспортируем файловую систему контейнера:

docker export my-container -o my-container-fs.tar

Импортируем файловую систему в новый образ:

docker import my-container-fs.tar my-new-image:latest

Проверяем, что образ создан:

docker images

Запускаем контейнер из нового образа:

docker run -it my-new-image:latest

Разница между docker save/load и docker export/import

КомандаСохраняет слои образаСохраняет метаданныеРаботает с образамиРаботает с контейнерами
docker save / loadДаДаДаНет
docker export / importНетНетНетДа
  • docker save / load — используются для работы с образами Docker, сохраняя все слои и метаданные.
  • docker export / import — используются для работы с файловыми системами контейнеров, без сохранения слоёв и метаданных.

Выбор команды зависит от вашей задачи: если нужно сохранить именно образ, используйте docker save/load. Если нужно сохранить состояние файловой системы контейнера, используйте docker export/import.

Перевод статьи: Saving and Loading Docker Images

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

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