Dela via


Distribuera Azure Container Apps med kommandot az containerapp up

Kommandot az containerapp up (eller up) är det snabbaste sättet att distribuera en app i Azure Container Apps från en befintlig avbildning, lokal källkod eller en GitHub-lagringsplats. Med det här enda kommandot kan du ha containerappen igång på några minuter.

Kommandot az containerapp up är ett effektivt sätt att skapa och distribuera containerappar som främst använder standardinställningar. Du måste dock köra andra CLI-kommandon för att konfigurera mer avancerade inställningar:

Om du vill anpassa containerappens resurs- eller skalningsinställningar kan du använda up kommandot och sedan az containerapp update kommandot för att ändra inställningarna. Kommandot az containerapp up är inte en förkortning av az containerapp update kommandot.

Kommandot up kan skapa eller använda befintliga resurser, inklusive:

  • Resursgrupp
  • Azure Container Registry
  • Container Apps-miljö och Log Analytics-arbetsyta
  • Din containerapp

Kommandot kan skapa och skicka en containeravbildning till ett Azure Container Registry (ACR) när du anger lokal källkod eller en GitHub-lagringsplats. När du arbetar från en GitHub-lagringsplats skapas ett GitHub Actions-arbetsflöde som automatiskt skapar och push-överför en ny containeravbildning när du checkar in ändringar i din GitHub-lagringsplats.

Om du behöver anpassa Container Apps-miljön skapar du först miljön med kommandot az containerapp env create . Om du inte anger någon befintlig miljö up letar kommandot efter en i resursgruppen och använder den miljön om den hittas. Om den inte hittas skapar den en miljö med en Log Analytics-arbetsyta.

Mer information om kommandot och dess alternativ finns i az containerapp up az containerapp up.

Förutsättningar

Krav Instruktioner
Azure-konto Om du inte har något skapar du ett konto kostnadsfritt. Du behöver behörigheten Deltagare eller Ägare för Azure-prenumerationen för att kunna fortsätta. Mer information finns i Tilldela Azure-roller med hjälp av Azure-portalen.
GitHub-konto Om du använder en GitHub-lagringsplats registrerar du dig kostnadsfritt.
Azure CLI Installera Azure CLI.
Lokal källkod Du måste ha en lokal källkodskatalog om du använder lokal källkod.
Befintlig avbildning Om du använder en befintlig avbildning behöver du registerservern, avbildningsnamnet och taggen. Om du använder ett privat register behöver du dina autentiseringsuppgifter.

Konfigurera

  1. Logga in på Azure med Azure CLI.

    az login
    
  2. Installera sedan Azure Container Apps-tillägget för CLI.

    az extension add --name containerapp --upgrade
    
  3. Nu när det aktuella tillägget eller modulen har installerats registrerar du Microsoft.App namnområdet.

    az provider register --namespace Microsoft.App
    
  4. Registrera providern Microsoft.OperationalInsights för Azure Monitor Log Analytics-arbetsytan.

    az provider register --namespace Microsoft.OperationalInsights
    

Distribuera från en befintlig avbildning

Du kan distribuera en containerapp som använder en befintlig avbildning i ett offentligt eller privat containerregister. Om du distribuerar från ett privat register måste du ange dina autentiseringsuppgifter med alternativen --registry-server, --registry-usernameoch --registry-password .

I det här exemplet az containerapp up utför kommandot följande åtgärder:

  1. Skapar en resursgrupp.
  2. Skapar en miljö och En Log Analytics-arbetsyta.
  3. Skapar och distribuerar en containerapp som hämtar avbildningen från ett offentligt register.
  4. Anger containerappens ingress till extern med en målport inställd på det angivna värdet.

Kör följande kommando för att distribuera en containerapp från en befintlig avbildning. <Ersätt PLACEHOLDERS> med dina värden.

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

Du kan använda up kommandot för att distribuera om en containerapp. Om du vill distribuera om med en ny avbildning använder du --image alternativet för att ange en ny avbildning. Kontrollera att --resource-group alternativen och environment är inställda på samma värden som den ursprungliga distributionen.

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> 

Distribuera från lokal källkod

När du använder up kommandot för att distribuera från en lokal källa skapas containeravbildningen, skickas till ett register och containerappen distribueras. Det skapar registret i Azure Container Registry om du inte anger något.

Kommandot kan skapa avbildningen med eller utan en Dockerfile. Om du skapar utan Dockerfile stöds följande språk:

  • .NET
  • Node.js
  • PHP
  • Python

I följande exempel visas hur du distribuerar en containerapp från lokal källkod.

I exemplet az containerapp up utför kommandot följande åtgärder:

  1. Skapar en resursgrupp.
  2. Skapar en miljö och En Log Analytics-arbetsyta.
  3. Skapar ett register i Azure Container Registry.
  4. Skapar containeravbildningen (med Dockerfile om den finns).
  5. Skickar avbildningen till registret.
  6. Skapar och distribuerar containerappen.

Kör följande kommando för att distribuera en containerapp från den lokala källkoden:

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

När Dockerfile innehåller instruktionen up EXPOSE konfigurerar kommandot containerappens ingress- och målport med hjälp av informationen i Dockerfile.

Om du konfigurerar ingress via din Dockerfile eller om din app inte kräver ingress kan du utelämna alternativet ingress .

Utdata från kommandot innehåller URL:en för containerappen.

Om det uppstår ett fel kan du köra kommandot igen med --debug alternativet för att få mer information om felet. Om bygget misslyckas utan en Dockerfile kan du prova att lägga till en Dockerfile och köra kommandot igen.

Inkludera argumenten az containerapp up och --environment om du vill använda kommandot för att distribuera om containerappen --resource-group med en uppdaterad avbildning. I följande exempel visas hur du distribuerar om en containerapp från den lokala källkoden.

  1. Gör ändringar i källkoden.

  2. Kör följande kommando:

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

Distribuera från en GitHub-lagringsplats

När du använder az containerapp up kommandot för att distribuera från en GitHub-lagringsplats genereras ett GitHub Actions-arbetsflöde som skapar containeravbildningen, skickar den till ett register och distribuerar containerappen. Kommandot skapar registret i Azure Container Registry om du inte anger något.

En Dockerfile krävs för att skapa avbildningen. När Dockerfile innehåller instruktionen EXPOSE konfigurerar kommandot containerappens ingress- och målport med hjälp av informationen i Dockerfile.

I följande exempel visas hur du distribuerar en containerapp från en GitHub-lagringsplats.

I exemplet az containerapp up utför kommandot följande åtgärder:

  1. Skapar en resursgrupp.
  2. Skapar en miljö och En Log Analytics-arbetsyta.
  3. Skapar ett register i Azure Container Registry.
  4. Skapar containeravbildningen med Hjälp av Dockerfile.
  5. Skickar avbildningen till registret.
  6. Skapar och distribuerar containerappen.
  7. Skapar ett GitHub Actions-arbetsflöde för att skapa containeravbildningen och distribuera containerappen när framtida ändringar skickas till GitHub-lagringsplatsen.

Om du vill distribuera en app från en GitHub-lagringsplats kör du följande kommando:

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

Om du konfigurerar ingress via din Dockerfile eller om din app inte kräver ingress kan du utelämna alternativet ingress .

up Eftersom kommandot skapar ett GitHub Actions-arbetsflöde körs det igen för att distribuera ändringar i appens avbildning, vilket har den oönskade effekten att skapa flera arbetsflöden. Skicka i stället ändringar till din GitHub-lagringsplats och GitHub-arbetsflödet skapar och distribuerar automatiskt din app. Om du vill ändra arbetsflödet redigerar du arbetsflödesfilen i GitHub.

Nästa steg