Экспорт образов с помощью Containerd CLI (ctr)

Недавно я обнаружил, что образ Docker, который я использую как часть одной из моих диаграмм Helm, больше не доступен на DockerHub, а я не сделал его зеркалирование в другом месте. Он был запущен в кластере K3s, что означало, что я не мог docker tag original-maintainer/image:tag me/image:tag его и выложить на Hub самостоятельно на своей локальной машине, на которой был запущен Docker CLI.

Сначала, войдя в узел с изображением, я выполнил следующее:

ctr -n k8s.io images export bind9:9.11.tar docker.io/internetsystemsconsortium/bind9:9.11 --platform linux/amd64
Войти в полноэкранный режим Выйти из полноэкранного режима

что привело к экспорту образа в tarball. Это похоже на docker image save.

Затем, перетащив его на свои машины Docker CLI:

scp jdmarhee@192.168.0.60:bind9:9.11.tar .
Войти в полноэкранный режим Выйти из полноэкранного режима

Затем я загружаю образ из tarball:

 docker image load --input bind9:9.11.tar
Войти в полноэкранный режим Выйти из полноэкранного режима

который возвращает оригинальный тег для изображения (internetsystemsconsortium/bind9:9.11), чтобы я мог повторно его пометить и отправить:

docker image tag internetsystemsconsortium/bind9:9.11 jmarhee/bind9:9.11

docker push jmarhee/bind9:9.11
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь этот образ доступен на Docker Hub для доступа к моим (и вашим) новым кластерам.

Оцените статью
devanswers.ru
Добавить комментарий