Przesłanie obrazu kontenera do Azure Container Registry

Ukończone

W tej lekcji użyjesz usługi Azure Container Registry, aby wypchnąć obraz kontenera do rejestru kontenerów platformy Azure. Usługa Azure Container Registry umożliwia tworzenie i przechowywanie obrazów kontenerów oraz artefaktów oraz zarządzanie nimi w prywatnym rejestrze dla wszystkich typów wdrożeń kontenerów. Użyj rejestrów kontenerów platformy Azure z istniejącymi potokami tworzenia i wdrażania kontenerów.

Notatka

Jeśli sesja uległa bezczynności lub wykonujesz ten krok w innym momencie lub z innego interfejsu wiersza polecenia, może być konieczne ponowne zainicjowanie zmiennych środowiskowych i ponowne uwierzytelnienie przy użyciu następujących poleceń:

Przywróć wartości zmiennych zasobów używane w instalacji. Zastąp poniżej <your-subscription-ID> identyfikatorem subskrypcji użytej dla tego modułu. Jeśli logowanie przedstawia selektor subskrypcji, wybierz tę samą subskrypcję. Uruchom polecenia uwierzytelniania pojedynczo. Po az account show, upewnij się, że aktywna subskrypcja jest zgodna z konfiguracją przed kontynuowaniem. Jeśli polecenie zakończy się niepowodzeniem, zatrzymaj i rozwiąż ten błąd.

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"

Prześlij obraz kontenera

Możesz wypchnąć nowo utworzony obraz kontenera do rejestru kontenerów platformy Azure. Dzięki temu obraz kontenera znajduje się w bliskiej sieciowej odległości od wszystkich Twoich zasobów platformy Azure, takich jak klaster usługi Azure Kubernetes Service (AKS). Później skonfigurujesz usługę AKS, aby pobrać flightbookingsystemsample obraz z repozytorium. Aby wypchnąć obraz kontenera do rejestru, wykonaj następujące kroki:

  1. Użyj następującego polecenia, aby zalogować się do usługi Azure Container Registry, jeśli jeszcze tego nie zrobiono:

    az acr login
    
  2. Sprawdź rzeczywisty obraz lokalny przed tagowaniem lub pushowaniem:

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

    W przypadku tej ścieżki wynik musi mieć wartość linux/amd64. Jeśli różni się, skompiluj i uruchom obraz za pomocą --platform linux/amd64, jak opisano w poprzedniej lekcji, przed kontynuowaniem. Tagowanie i wypychanie zachowują platformę obrazu; nie zmieniają jej architektury.

  3. Użyj następującego polecenia, aby oznaczyć wcześniej utworzony obraz kontenera w rejestrze kontenerów platformy Azure:

    docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  4. Użyj następującego polecenia, aby wypchnąć obraz kontenera do rejestru kontenerów platformy Azure:

    docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  5. Po zakończeniu wypychania można wyświetlić metadane obrazu rejestru kontenerów platformy Azure dla nowo wypchniętego obrazu przy użyciu następującego polecenia:

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

Następujące metadane historyczne są ilustracyjne. Skrót obrazu i znaczniki czasu mogą się różnić po utworzeniu i wypchnięciu zaktualizowanego obrazu:

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

Obraz kontenera znajduje się teraz w rejestrze kontenerów platformy Azure i jest gotowy do wdrożeń przez usługi platformy Azure, takie jak AKS.