Übertragen Sie das Container-Image an das Azure Container Registry.

Abgeschlossen

In dieser Einheit verwenden Sie den Azure-Containerregistrierungsdienst, um ein Containerimage in Ihre Azure-Containerregistrierung zu übertragen. Mit der Azure Container Registry können Sie Containerimages und Artefakte in einer privaten Registrierung für alle Arten von Containerbereitstellungen erstellen, speichern und verwalten. Verwenden Sie Azure-Containerregistrierungen mit Ihren vorhandenen Pipelines für die Containerentwicklung und -bereitstellung.

Hinweis

Wenn Ihre Sitzung sich im Leerlauf befindet oder Sie diesen Schritt zu einem anderen Zeitpunkt oder von einer anderen CLI ausführen, müssen Sie ihre Umgebungsvariablen möglicherweise erneut initialisieren und erneut authentifizieren, indem Sie die folgenden Befehle verwenden:

Stellen Sie die im Setup verwendeten Ressourcenvariablenwerte wieder her. Ersetzen Sie <your-subscription-ID> unten durch die ID des Abonnements, das Sie für dieses Modul verwendet haben. Wenn die Anmeldung eine Abonnementauswahl anzeigt, wählen Sie dasselbe Abonnement aus. Führen Sie die Authentifizierungsbefehle einzeln aus. Vergewissern Sie sich danach az account show, dass das aktive Abonnement mit dem Setup übereinstimmt, bevor Sie fortfahren. Wenn ein Befehl fehlschlägt, halten Sie an und beheben Sie den Fehler.

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"

Container-Image pushen

Sie können Ihr neu erstelltes Containerimage in Ihre Azure-Containerregistrierung übertragen. Durch diese Maßnahme ist Ihr Container-Image netzwerktechnisch in unmittelbarer Nähe zu all Ihren Azure-Ressourcen, wie beispielsweise Ihrem Azure Kubernetes Service (AKS)-Cluster. Später konfigurieren Sie AKS so, dass das flightbookingsystemsample Image aus der Registrierung abgerufen wird. Führen Sie die folgenden Schritte aus, um das Containerimage in Ihr Register hochzuladen:

  1. Verwenden Sie den folgenden Befehl, um sich bei der Azure-Containerregistrierung anzumelden, sofern noch nicht geschehen:

    az acr login
    
  2. Überprüfen Sie das tatsächliche lokale Bild vor dem Taggen oder Pushen:

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

    Für diesen Pfad muss das Ergebnis sein linux/amd64. Wenn es davon abweicht, erstellen Sie das Image neu und führen Sie es wie --platform linux/amd64 in der vorherigen Einheit beschrieben aus, bevor Sie fortfahren. Tagging und Pushen erhalten die Image-Plattform; sie ändern ihre Architektur nicht.

  3. Verwenden Sie den folgenden Befehl, um das zuvor integrierte Containerimage mit Ihrer Azure-Containerregistrierung zu markieren:

    docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  4. Verwenden Sie den folgenden Befehl, um das Containerimage an Ihre Azure-Containerregistrierung zu übertragen:

    docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  5. Nach Abschluss des Pushvorgangs können Sie die Metadaten des Azure-Containerregistrierungsimages des neu übertragenen Images mithilfe des folgenden Befehls anzeigen:

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

Die folgenden historischen Metadaten sind illustrativ. Ihr Imagedigest und Zeitstempel können sich nach dem Erstellen und Pushen des aktualisierten Images unterscheiden:

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

Ihr Containerimage befindet sich jetzt in Ihrer Azure-Containerregistrierung und ist bereit für Bereitstellungen durch Azure-Dienste wie AKS.