Efetuar push da imagem de contêiner para o Registro de Contêiner do Azure

Concluído(a)

Nesta unidade, você usa o serviço registro de contêiner do Azure para enviar por push uma imagem de contêiner para o registro de contêiner do Azure. O Registro de Contêiner do Azure permite que você crie, armazene e gerencie imagens e artefatos de contêiner em um registro privado para todos os tipos de implantações de contêiner. Use os Registros de contêiner do Azure com os pipelines de desenvolvimento e implantação de contêiner existentes.

Observação

Se a sessão ficou ociosa ou você estiver fazendo esta etapa em outro momento ou de outra interface de linha de comando (CLI), talvez seja necessário reinicializar as variáveis de ambiente e reautenticar usando os seguintes comandos:

Restaure os valores das variáveis ​​de recurso usados na configuração. Substitua <your-subscription-ID> abaixo pela ID da assinatura que você usou para este módulo. Se o login apresentar um seletor de assinatura, escolha a mesma assinatura. Execute os comandos de autenticação um de cada vez. Depois de az account show, confirme se a assinatura ativa corresponde à configuração antes de continuar. Se um comando falhar, pare e resolva o erro.

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"

Efetuar push de uma imagem de contêiner

Você pode enviar sua imagem de contêiner recém-criada para o registro de contêiner do Azure. Ao fazer isso, sua imagem de contêiner fica próxima da rede para todos os seus recursos do Azure, como seu Cluster de AKS (Serviço de Kubernetes do Azure). Posteriormente, você configurará o AKS para extrair a imagem flightbookingsystemsample do registro. Para enviar a imagem de contêiner ao registro, use as seguintes etapas:

  1. Use o seguinte comando para entrar no Registro de Contêiner do Azure, caso ainda não tenha feito isso:

    az acr login
    
  2. Inspecione a imagem local antes de atribuir uma tag ou fazer push:

    docker image inspect flightbookingsystemsample:latest \
      --format '{{.Os}}/{{.Architecture}}'
    

    Para esse caminho, o resultado deve ser linux/amd64. Se houver alguma diferença, reconstrua e execute a imagem com --platform linux/amd64 conforme descrito na unidade anterior, antes de prosseguir. A marcação e o envio preservam a plataforma da imagem; eles não alteram sua arquitetura.

  3. Use o seguinte comando para marcar a imagem de contêiner criada anteriormente com o registro de contêiner do Azure:

    docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  4. Use o seguinte comando para enviar a imagem de contêiner por push para o registro de contêiner do Azure:

    docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  5. Após a conclusão do push, você pode exibir os metadados de imagem do Registro de Contêiner do Azure da imagem enviada por push usando o seguinte comando:

    az acr repository show \
        --name $AZ_CONTAINER_REGISTRY \
        --image flightbookingsystemsample:latest
    

Os metadados históricos a seguir são ilustrativos. O resumo da imagem e os carimbos de data/hora podem ser diferentes depois de compilar e efetuar push da imagem atualizada:

{
  "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
}

Sua imagem de contêiner agora está localizada no registro de contêiner do Azure e está pronta para implantações pelos Serviços do Azure, como o AKS.