Freigeben über


Bereitstellen von Azure Container Apps mit dem Befehl „az containerapp up“

Der Befehl az containerapp up (oder up) ist die schnellste Option zum Bereitstellen einer App in Azure Container Apps über ein vorhandenes Image, über lokalen Quellcode oder ein GitHub-Repository. Mit diesem einzelnen Befehl ist Ihre Container-App innerhalb von wenigen Minuten einsatzbereit.

Der Befehl az containerapp up ist eine optimierte Option zum Erstellen und Bereitstellen von Container-Apps, die in erster Linie Standardeinstellungen verwenden. Sie müssen jedoch weitere CLI-Befehle ausführen, um erweiterte Einstellungen zu konfigurieren:

Um die Ressourcen- oder Skalierungseinstellungen Ihrer Container-App anzupassen, können Sie den Befehl up und dann den Befehl az containerapp update verwenden, um diese Einstellungen zu ändern. Der Befehl az containerapp up ist keine Abkürzung des Befehls az containerapp update.

Der Befehl up kann vorhandene Ressourcen erstellen oder verwenden, einschließlich:

  • Resource group
  • Azure Container Registry
  • Container Apps-Umgebung und Log Analytics-Arbeitsbereich
  • Container-App

Der Befehl kann ein Containerimage erstellen und an eine Azure Container Registry-Instanz (ACR) pushen, wenn Sie lokalen Quellcode oder ein GitHub-Repository bereitstellen. Wenn Sie in einem GitHub-Repository arbeiten, wird ein GitHub Actions-Workflow erstellt, der automatisch ein neues Containerimage erstellt und pusht, wenn Sie Änderungen in Ihrem GitHub-Repository committen.

Wenn Sie die Container Apps-Umgebung anpassen müssen, erstellen Sie zunächst mit dem Befehl az containerapp env create die Umgebung. Wenn Sie keine vorhandene Umgebung bereitstellen, sucht der Befehl up nach einer Umgebung in Ihrer Ressourcengruppe und verwendet diese, falls er eine findet. Wird keine Umgebung gefunden, wird eine mit einem Log Analytics-Arbeitsbereich erstellt.

Weitere Informationen zum Befehl az containerapp up und seinen Optionen finden Sie unter az containerapp up.

Voraussetzungen

Anforderung Anweisungen
Azure-Konto Erstellen Sie ein kostenloses Konto, falls Sie keines besitzen. Sie benötigen die Berechtigung Mitwirkender oder Besitzer für das Azure-Abonnement, um den Vorgang fortzusetzen. Weitere Einzelheiten finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.
GitHub-Konto Wenn Sie ein GitHub-Repository verwenden, können Sie sich kostenlos registrieren.
Azure CLI Installieren Sie die Azure CLI.
Lokaler Quellcode Sie benötigen ein lokales Quellcodeverzeichnis, wenn Sie lokalen Quellcode verwenden.
Vorhandenes Image Wenn Sie ein vorhandenes Image verwenden, benötigen Sie den Registrierungsserver, den Imagenamen und das Tag. Wenn Sie eine private Registrierung verwenden, benötigen Sie Ihre Anmeldeinformationen.

Einrichten

  1. Melden Sie sich über die Azure-Befehlszeilenschnittstelle bei Azure an.

    az login
    
  2. Installieren Sie als Nächstes die Azure Container Apps-Erweiterung für die CLI.

    az extension add --name containerapp --upgrade
    
  3. Die aktuelle Erweiterung oder das aktuelle Modul wurde installiert. Registrieren Sie nun den Namespace Microsoft.App.

    az provider register --namespace Microsoft.App
    
  4. Registrieren Sie den Anbieter Microsoft.OperationalInsights für den Azure Monitor Log Analytics-Arbeitsbereich.

    az provider register --namespace Microsoft.OperationalInsights
    

Bereitstellen über ein vorhandenes Image

Sie können eine Container-App, die ein vorhandenes Image verwendet, in einer öffentlichen oder privaten Containerregistrierung bereitstellen. Bei der Bereitstellung über eine private Registrierung müssen Sie Ihre Anmeldeinformationen mithilfe der Optionen --registry-server, --registry-username und --registry-password angeben.

In diesem Beispiel werden mit dem Befehl az containerapp up die folgenden Aktionen ausgeführt:

  1. Erstellen einer Ressourcengruppe
  2. Erstellen einer Umgebung und eines Log Analytics-Arbeitsbereichs
  3. Erstellen und Bereitstellen einer Container-App, die das Image aus einer öffentlichen Registrierung pullt
  4. Festlegen des Eingangs der Container-App auf extern mit einem auf den angegebenen Wert festgelegten Zielport

Führen Sie den folgenden Befehl aus, um eine Container-App über ein vorhandenes Image bereitzustellen. Ersetzen Sie die <PLATZHALTER> durch Ihre Werte.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Sie können den Befehl up verwenden, um eine Container-App erneut bereitzustellen. Wenn Sie eine erneute Bereitstellung mit einem neuen Image durchführen möchten, verwenden Sie die Option --image, um ein neues Image anzugeben. Stellen Sie sicher, dass die Optionen --resource-group und environment auf die gleichen Werte wie die ursprüngliche Bereitstellung festgelegt sind.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Bereitstellen über lokalen Quellcode

Wenn Sie den Befehl up für die Bereitstellung aus einer lokalen Quelle verwenden, wird das Containerimage erstellt und in eine Registrierung gepusht und die Container-App bereitgestellt. Wird keine Angabe gemacht, wird die Registrierung in Azure Container Registry erstellt.

Der Befehl kann das Image mit oder ohne Dockerfile erstellen. Bei der Erstellung ohne Dockerfile werden die folgenden Sprachen unterstützt:

  • .NET
  • Node.js
  • PHP
  • Python

Das folgende Beispiel zeigt, wie Sie eine Container-App aus lokalem Quellcode bereitstellen.

Im Beispiel werden mit dem Befehl az containerapp up die folgenden Aktionen ausgeführt:

  1. Erstellen einer Ressourcengruppe
  2. Erstellen einer Umgebung und eines Log Analytics-Arbeitsbereichs
  3. Erstellen einer Registrierung in Azure Container Registry
  4. Erstellen des Containerimages (mit dem Dockerfile, sofern vorhanden)
  5. Pushen des Images in die Registrierung
  6. Erstellen und Bereitstellen der Container-App

Führen Sie den folgenden Befehl aus, um eine Container-App über lokalen Quellcode bereitzustellen:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

Wenn das Dockerfile die EXPOSE-Anweisung enthält, konfiguriert der Befehl up den Eingangs- und Zielport der Container-App anhand der Informationen im Dockerfile.

Wenn Sie den Eingang über Ihre Dockerfile konfigurieren oder Ihre App keinen Eingang erfordert, können Sie die Option ingress weglassen.

Die Ausgabe des Befehls enthält die URL für die Container-App.

Wenn ein Fehler auftritt, können Sie den Befehl mit der Option --debug erneut ausführen, um weitere Informationen zum Fehler zu erhalten. Wenn der Build ohne Dockerfile nicht erfolgreich ist, können Sie versuchen, ein Dockerfile hinzuzufügen und den Befehl erneut auszuführen.

Um den Befehl az containerapp up zum erneuten Bereitstellen Ihrer Container-App mit einem aktualisierten Image zu verwenden, schließen Sie die Argumente --resource-group und --environment ein. Das folgende Beispiel zeigt, wie Sie eine Container-App aus lokalem Quellcode erneut bereitstellen.

  1. Nehmen Sie Änderungen am Quellcode vor.

  2. Führen Sie den folgenden Befehl aus:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

Bereitstellen über ein GitHub-Repository

Wenn Sie den Befehl az containerapp up für die Bereitstellung über ein GitHub-Repository verwenden, generiert er einen GitHub Actions-Workflow, der das Containerimage erstellt und an eine Registrierung pusht und die Container-App bereitstellt. Wird keine Angabe gemacht, erstellt der Befehl die Registrierung in Azure Container Registry.

Zum Erstellen des Images ist ein Dockerfile erforderlich. Wenn das Dockerfile die EXPOSE-Anweisung enthält, konfiguriert der Befehl den Eingangs- und Zielport der Container-App anhand der Informationen im Dockerfile.

Das folgende Beispiel zeigt, wie Sie eine Container-App über ein GitHub-Repository bereitstellen.

Im Beispiel werden mit dem Befehl az containerapp up die folgenden Aktionen ausgeführt:

  1. Erstellen einer Ressourcengruppe
  2. Erstellen einer Umgebung und eines Log Analytics-Arbeitsbereichs
  3. Erstellen einer Registrierung in Azure Container Registry
  4. Erstellen des Containerimages mit dem Dockerfile
  5. Pushen des Images in die Registrierung
  6. Erstellen und Bereitstellen der Container-App
  7. Erstellen eines GitHub Actions-Workflows, um das Containerimage zu erstellen und die Container-App bereitzustellen, wenn zukünftige Änderungen an das GitHub-Repository gepusht werden

Führen Sie den folgenden Befehl aus, um eine App aus einem GitHub-Repository bereitzustellen:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GitHub repository URL> \
  --ingress external 

Wenn Sie den Eingang über Ihre Dockerfile konfigurieren oder Ihre App keinen Eingang erfordert, können Sie die Option ingress weglassen.

Da der Befehl up einen GitHub Actions-Workflow erstellt, hat die erneute Ausführung zum Bereitstellen von Änderungen am Image Ihrer App den unerwünschten Effekt, dass mehrere Workflows erstellt werden. Pushen Sie stattdessen Änderungen an Ihr GitHub-Repository, und der GitHub-Workflow erstellt automatisch Ihre App und stellt sie bereit. Um den Workflow zu ändern, bearbeiten Sie die Workflowdatei in GitHub.

Nächste Schritte