Отправка образа контейнера в реестр контейнеров Azure
В этом уроке вы используете службу реестра контейнеров Azure для отправки образа контейнера в реестр контейнеров Azure. Реестр контейнеров Azure позволяет создавать, хранить и управлять образами контейнеров и артефактами в частном реестре для всех типов развертываний контейнеров. Используйте реестры контейнеров Azure с существующими конвейерами разработки и развертывания контейнеров.
Заметка
Если сеанс неактивен или вы выполняете этот шаг в другой момент времени или из другого интерфейса командной строки, может потребоваться повторно инициализировать переменные среды и повторно выполнить проверку подлинности с помощью следующих команд:
Восстановите значения переменных ресурсов, используемые при установке. Замените приведенное ниже на идентификатор подписки, используемой для этого модуля. Если при входе отображается средство выбора подписки, выберите ту же подписку. Выполните команды аутентификации по одной за раз. После az account showэтого убедитесь, что активная подписка соответствует настройке, прежде чем продолжить. Если команда завершается ошибкой, остановите и устраните ошибку.
export AZ_RESOURCE_GROUP=java-containerization-demo-rg
export AZ_CONTAINER_REGISTRY=<your-container-registry>
export AZ_KUBERNETES_CLUSTER=java-containerization-demo-aks
export AZ_LOCATION=<your-Azure-region>
export AZ_KUBERNETES_CLUSTER_DNS_PREFIX=<your-unique-DNS-prefix-to-access-your-AKS-cluster>
az login
az account set --subscription "<your-subscription-ID>"
az account show --output table
az acr login --name "$AZ_CONTAINER_REGISTRY"
Отправка образа контейнера
Вы можете отправить созданный образ контейнера в реестр контейнеров Azure. Таким образом, образ контейнера находится в непосредственной сетевой близости ко всем вашим ресурсам Azure, например к кластеру Службы Azure Kubernetes (AKS). Позже вы настроите AKS, чтобы загрузить образ flightbookingsystemsample из реестра. Чтобы отправить образ контейнера в реестр, выполните следующие действия.
Используйте следующую команду, чтобы войти в реестр контейнеров Azure, если вы еще этого не сделали:
az acr loginПроверьте фактическое локальное изображение перед добавлением тегов или отправкой:
docker image inspect flightbookingsystemsample:latest \ --format '{{.Os}}/{{.Architecture}}'Для этого пути результат должен быть
linux/amd64. Если он отличается, перестройте и запустите образ с помощью--platform linux/amd64, как описано в предыдущем разделе, прежде чем продолжить. Добавление тегов и публикация сохраняют платформу образа; они не изменяют его архитектуру.Используйте следующую команду, чтобы пометить ранее созданный образ контейнера в реестре контейнеров Azure:
docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsampleИспользуйте следующую команду, чтобы передать образ контейнера в реестр контейнеров Azure:
docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsampleПосле завершения отправки можно просмотреть метаданные образа реестра контейнеров Azure только что отправленного образа с помощью следующей команды:
az acr repository show \ --name $AZ_CONTAINER_REGISTRY \ --image flightbookingsystemsample:latest
Ниже приведены исторические метаданные, носящие иллюстративный характер. Дайджест изображения и метки времени могут отличаться после сборки и отправки обновленного образа:
{
"changeableAttributes": {
"deleteEnabled": true,
"listEnabled": true,
"readEnabled": true,
"writeEnabled": true
},
"createdTime": "2024-11-15T12:23:55.5624474Z",
"digest": "sha256:13851640a3****************************************f7f1e482c6eaa825",
"lastUpdateTime": "2024-11-15T12:23:55.5624474Z",
"name": "latest",
"signed": false
}
Образ контейнера теперь находится в реестре контейнеров Azure и готов к развертыванию службами Azure, такими как AKS.