Freigeben über


Schnellstart: Bereitstellen eines vorhandenen Containerimages mit der Befehlszeile

Mit dem Azure Container Apps-Dienst können Sie Microservices und containerisierte Anwendungen auf einer serverlosen Plattform ausführen. Mit Container Apps genießen Sie die Vorteile von Containern und müssen sich nicht mehr um die manuelle Konfiguration von Cloudinfrastrukturen und komplexe Containerorchestratoren kümmern.

In diesem Artikel wird veranschaulicht, wie Sie einen vorhandenen Container in Azure Container Apps bereitstellen.

Hinweis

Die Autorisierung einer privaten Registrierung wird über den Benutzernamen und das Kennwort der Registrierung unterstützt.

Voraussetzungen

Setup

Um sich ausgehend von der CLI bei Azure anzumelden, führen Sie den folgenden Befehl aus und befolgen Sie die Anweisungen, um den Authentifizierungsprozess abzuschließen.

az login

Verwenden Sie den Upgradebefehl, um sicherzustellen, dass Sie die neueste Version der CLI ausführen.

az upgrade

Installieren oder aktualisieren Sie als Nächstes die Azure Container Apps-Erweiterung für die CLI.

Falls Sie Fehler aufgrund fehlender Parameter erhalten, wenn Sie az containerapp-Befehle in der Azure CLI oder Cmdlets aus dem Az.App-Modul in Azure PowerShell ausführen, stellen Sie sicher, dass die aktuelle Version der Azure Container Apps-Erweiterung installiert ist.

az extension add --name containerapp --upgrade

Hinweis

Ab Mai 2024 aktivieren Azure CLI-Erweiterungen standardmäßig keine Previewfunktionen mehr. Um auf Previewfunktionen von Container Apps zuzugreifen, installieren Sie die Container Apps-Erweiterung mit --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Nachdem die aktuelle Erweiterung oder das aktuelle Modul installiert ist, registrieren Sie nun die Namespaces Microsoft.App und Microsoft.OperationalInsights.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Festlegen von Umgebungsvariablen

Legen Sie die folgenden Umgebungsvariablen fest. Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte:

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Erstellen einer Azure-Ressourcengruppe

Erstellen Sie eine Ressourcengruppe, um die Dienste im Zusammenhang mit der Bereitstellung Ihrer Container-App zu organisieren.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Erstellen einer Umgebung

Eine Umgebung in Azure Container Apps erstellt eine sichere Grenze für eine Gruppe von Container-Apps. Container-Apps, die in derselben Umgebung bereitgestellt werden, werden im gleichen virtuellen Netzwerk bereitgestellt und schreiben Protokolle in denselben Log Analytics-Arbeitsbereich.

Führen Sie den folgenden Befehl aus, um die Umgebung zu erstellen:

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Erstellen einer Container-App

Nachdem Sie eine Umgebung erstellt haben, können Sie Ihre erste Container-App bereitstellen.

  1. Festlegen der Umgebungsvariablen.

    Ersetzen Sie <PLACEHOLDERS> durch Ihre eigenen Werte. Ihr Benutzerprinzipalname befindet sich in der Regel im Format einer E-Mail-Adresse (z. B username@domain.com).

     CONTAINER_APP_NAME=my-container-app
     KEY_VAULT_NAME=my-key-vault
     USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME>
     SECRET_NAME=my-secret-name
     CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
     REGISTRY_SERVER=<REGISTRY_SERVER>
     REGISTRY_USERNAME=<REGISTRY_USERNAME>
    
  2. Erstellen Sie die Key Vault-Instanz.

    Wenn Sie Ihr Containerregistrierungskennwort mithilfe eines Diensts wie Azure Key Vault speichern, bleiben die Werte jederzeit sicher. Die Schritte in diesem Abschnitt zeigen, wie Sie einen Schlüsseltresor erstellen, Ihr Containerregistrierungskennwort im Key Vault speichern und dann das Kennwort für die Verwendung in Ihrem Code abrufen.

     az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
    
  3. Gewähren von Berechtigungen zum Verwalten von Geheimnissen im Schlüsseltresor für das Benutzerkonto.

     KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv)
     az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"
    
  4. Speichern Sie Ihr Containerregistrierungskennwort im Schlüsseltresor.

    Ersetzen Sie <REGISTRY_PASSWORD> durch Ihren Wert.

     az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"
    
  5. Rufen Sie ihr Containerregistrierungskennwort aus dem Schlüsseltresor ab.

     REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)
    
  6. Bereitstellen eines Containerimages für Azure Container Apps.

     az containerapp create \
       --name $CONTAINER_APP_NAME \
       --location $LOCATION \
       --resource-group $RESOURCE_GROUP \
       --image $CONTAINER_IMAGE_NAME \
       --environment $CONTAINERAPPS_ENVIRONMENT \
       --registry-server $REGISTRY_SERVER \
       --registry-username $REGISTRY_USERNAME \
       --registry-password $REGISTRY_PASSWORD
    

    Wenn Sie den Eingang für Ihre Container-App aktiviert haben, können Sie --query properties.configuration.ingress.fqdn dem Befehl create hinzufügen, um die öffentliche URL der App zurückzugeben.

  1. Festlegen der Umgebungsvariablen.

     CONTAINER_APP_NAME=my-container-app
     CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
    
  2. Bereitstellen eines Containerimages für Azure Container Apps.

     az containerapp create \
       --image $CONTAINER_IMAGE_NAME \
       --name $CONTAINER_APP_NAME \
       --resource-group $RESOURCE_GROUP \
       --environment $CONTAINERAPPS_ENVIRONMENT
    

    Wenn Sie den Eingang für Ihre Container-App aktiviert haben, können Sie --query properties.configuration.ingress.fqdn dem Befehl create hinzufügen, um die öffentliche URL der App zurückzugeben.


Überprüfen der Bereitstellung

Um eine erfolgreiche Bereitstellung zu überprüfen, können Sie den Log Analytics-Arbeitsbereich abfragen. Möglicherweise müssen Sie nach der Bereitstellung einige Minuten warten, bis die Analyse zum ersten Mal eintrifft, bevor Sie die Protokolle abfragen können. Dies hängt von der in Ihrer Container-App implementierten Konsolenprotokollierung ab.

Verwenden Sie die folgenden Befehle, um Konsolenprotokollnachrichten anzuzeigen.

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == $CONTAINER_APP_NAME | project ContainerAppName_s, Log_s, TimeGenerated" \
  --out table

Bereinigen von Ressourcen

Wenn Sie diese Anwendung nicht weiter verwenden möchten, führen Sie den folgenden Befehl aus, um die Ressourcengruppe zusammen mit allen in dieser Schnellstartanleitung erstellten Ressourcen zu löschen.

Achtung

Mit dem folgenden Befehl werden die angegebene Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht. Falls in der angegebenen Ressourcengruppe Ressourcen enthalten sind, die nicht zum Umfang dieser Schnellstartanleitung gehören, werden sie ebenfalls gelöscht.

az group delete --name $RESOURCE_GROUP

Tipp

Treten Probleme auf? Informieren Sie uns über GitHub, indem Sie ein Problem im Azure Container Apps-Repository öffnen.

Nächste Schritte