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:
- Dapr:
az containerapp dapr enable
- Hemligheter:
az containerapp secret set
- Transportprotokoll:
az containerapp ingress update
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
Logga in på Azure med Azure CLI.
az login
Installera sedan Azure Container Apps-tillägget för CLI.
az extension add --name containerapp --upgrade
Nu när det aktuella tillägget eller modulen har installerats registrerar du
Microsoft.App
namnområdet.az provider register --namespace Microsoft.App
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-username
och --registry-password
.
I det här exemplet az containerapp up
utför kommandot följande åtgärder:
- Skapar en resursgrupp.
- Skapar en miljö och En Log Analytics-arbetsyta.
- Skapar och distribuerar en containerapp som hämtar avbildningen från ett offentligt register.
- 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:
- Skapar en resursgrupp.
- Skapar en miljö och En Log Analytics-arbetsyta.
- Skapar ett register i Azure Container Registry.
- Skapar containeravbildningen (med Dockerfile om den finns).
- Skickar avbildningen till registret.
- 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.
Gör ändringar i källkoden.
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:
- Skapar en resursgrupp.
- Skapar en miljö och En Log Analytics-arbetsyta.
- Skapar ett register i Azure Container Registry.
- Skapar containeravbildningen med Hjälp av Dockerfile.
- Skickar avbildningen till registret.
- Skapar och distribuerar containerappen.
- 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.