Основная информация об образах приложения
Контейнеризованный образ является важной частью любого распределенного приложения, использующего Служба 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.