Серия Docker (часть 9): Создание образа docker из официального образа

Хорошо… до этого момента мы взяли несколько официальных образов.


Внимательно посмотрите на образ nginx : nginx, который имеет тег: latest & image id de2543b9436b.

Вы можете увидеть это на официальном хабе docker: https://hub.docker.com/_/nginx.

Проверьте его теги:

Также посмотрите на это:

Здесь “mainline”, “latest”, “1.21” и т.д. означают одно и то же.

В нашей системе у нас есть образ nginx с тегом latest.
Давайте возьмем образ nginx с тегом mainline.

Если вы зайдете на docker hub, то увидите следующее:


Пока мы извлекали nginx:mainline, вы можете видеть, что несколько слоев уже существовали, а другие были извлечены. Итак, это преимущество наличия образа.

Раньше у нас был образ nginx, и поэтому существовало мало слоев. Теперь, когда мы вытащили тег mainline, нам просто пришлось вытащить несколько слоев.

Теперь давайте проверим изображения


Проверьте mainline tag & последний тег имеет тот же размер 142mb.

Теперь создадим образ в docker hub, используя официальный образ.

docker image tag <image to copy> <targeted image to be created>
Войдите в полноэкранный режим Выход из полноэкранного режима

тег используется для использования новейшего тега этого образа копии.

Перед этим войдите в систему с помощью docker hub. Таким образом, вы сможете создать образ и отправить его в docker hub.

docker login
Вход в полноэкранный режим Выйдите из полноэкранного режима

Затем укажите ваше имя пользователя и пароль.

Теперь создадим наш образ


Мы также проверили наш только что созданный образ.
Поскольку наш образ не будет официальным, мы использовали формат “имя_пользователя/имя_образа”.

Проверьте внимательно, образ nginx & mitul3737/nginx имеет одинаковый ID образа: de2543b9436b
также у них одинаковый тег: latest

Это потому, что mitul373737/nginx только что скопировал образ nginx, и мы сказали ему установить тот же тег (latest).

Теперь, давайте запустим его в наш профиль dockerhub

docker image push < your image>
Вход в полноэкранный режим Выход из полноэкранного режима

Вы можете видеть, что в docker hub есть вот это.


Он имеет тег latest.

Теперь давайте изменим тег и добавим поверх него еще один слой нашего изображения.

docker image tag <image to copy> <image where to copy>:<your_tag>
Вход в полноэкранный режим Выход из полноэкранного режима

Мы скопировали наш образ mitul3737/nginx и использовали его для создания другого образа с тегом “testing”.

Вы можете видеть, что nginx, mitul373737/nginx имеют одинаковый идентификатор изображения, но mitul373737/nginx имеет последний тег & testing. Это означает, что все они являются одним и тем же изображением. Просто их копии с разными именами.

Теперь давайте запустим его в наш концентратор docker.


Посмотрите внимательно, слои существуют. Это означает, что они не загружены повторно. При копировании из mitul373737/nginx в mitul373737/nginx:testing мы скопировали все и просто дали им новый тег. Таким образом, не было добавлено никаких новых слоев, и нам нечего было загружать.

В хабе docker:

Вы можете видеть, что под образом mitul3737/nginx добавлены слои. Таким образом, вы можете использовать последнюю версию с помощью команды mitul3737/nginx:latest и использовать тестовую версию с помощью команды
mitul3737/ngnx:testing

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