Основная информация об образах приложения

Завершено

Контейнеризованный образ является важной частью любого распределенного приложения, использующего Служба Azure Kubernetes (AKS). Теги можно использовать для:

  • Создайте нужные образы контейнеров.
  • Храните образы в реестре контейнеров.
  • Разверните определенный помеченный образ.

В этом уроке вы узнаете, как конвейер CI/CD использует помеченные образы приложений.

Образы контейнеров

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

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

При просмотре Файла Dockerfile в корне вилки вы увидите, что изображение начинается с другого образа nginx в качестве основы. Вместо начала с нуля обычно начинается с других образов с нужными файлами.

Вы создаете образ из Dockerfile с помощью docker build команды.

Важно!

Команда docker build не работает в среде Cloud Shell, так как использование Docker в работающем контейнере запрещено. Если вы хотите протестировать docker build . команду, клонируйте репозиторий локально и запустите команду с помощью собственной установки Docker.

Теги образов

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

Например, если вы хотите, чтобы изображение Node.js в репозитории начиналось с узла 12, можно включить тег FROM node:12 в Dockerfile. Если бы вы хотели начать с последней стабильной версии, можно было бы использовать тег FROM node:current. Теги указывают тип изображения и ожидаемые действия.

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

В этом модуле вы используете теги для метки версий выпуска. Вы создаете тег для каждой рабочей версии с помощью v*.*.* правил семантического управления версиями, например v1.0.0 для версии 1.0.0. Каждый помеченный push-запрос в основную ветвь создает новый тег изображения с тем же именем, что и тег в этой отправке. Неуклюжие push-уведомления создают только latest тег.

Все отправки, помеченные и неустранимые, обновите latest образ с помощью последнего кода и разверните его в промежуточном режиме. Изображения, помеченные тегами, v* также развертываются в рабочей среде. Только официальные помеченные образы развертываются в рабочей среде, а промежуточные и рабочие среды всегда имеют поэтапное latest изображение.

Реестры контейнеров

Важный аспект работы с изображением заключается в том, где он хранится. Реестр контейнеров — это место для хранения контейнерных файлов образов. Например, GitHub — это реестр контейнеров, в который также хранятся изменения кода и версии. Вы можете отправить новые образы приложений в реестры контейнеров с помощью docker push команды.

В этом модуле вы храните файлы образов приложения в экземпляре Реестр контейнеров Azure, созданном на предыдущем уроке. После создания личного маркера доступа (PAT) и выдачи федеративного сертификата для проверки подлинности с помощью GitHub и Azure конвейер по сути автоматизирует как docker build команды, так и docker push команды.

Теперь, когда вы понимаете конвейеры CI/CD и помеченные образы контейнеров, перейдите к следующему уроку, чтобы начать сборку конвейера CI/CD GitHub Actions.

Проверьте свои знания

1.

Что такое образ Docker?

2.

Как конвейер CI/CD может использовать теги изображений?