Azure Container Apps implementeren met de opdracht az containerapp up
De az containerapp up
opdracht (of up
) is de snelste manier om een app in Azure Container Apps te implementeren vanuit een bestaande installatiekopieën, lokale broncode of een GitHub-opslagplaats. Met deze enkele opdracht kunt u uw container-app binnen enkele minuten laten uitvoeren.
De az containerapp up
opdracht is een gestroomlijnde manier om container-apps te maken en te implementeren die voornamelijk gebruikmaken van standaardinstellingen. U moet echter andere CLI-opdrachten uitvoeren om geavanceerdere instellingen te configureren:
- Dapr:
az containerapp dapr enable
- Geheimen:
az containerapp secret set
- Transportprotocollen:
az containerapp ingress update
Als u de resource- of schaalinstellingen van uw container-app wilt aanpassen, kunt u de up
opdracht en vervolgens de az containerapp update
opdracht gebruiken om deze instellingen te wijzigen. De az containerapp up
opdracht is geen afkorting van de az containerapp update
opdracht.
Met de up
opdracht kunt u bestaande resources maken of gebruiken, waaronder:
- Resourcegroep
- Azure Container Registry
- Container Apps-omgeving en Log Analytics-werkruimte
- Uw container-app
Met de opdracht kunt u een containerinstallatiekopieën bouwen en pushen naar een Azure Container Registry (ACR) wanneer u lokale broncode of een GitHub-opslagplaats opgeeft. Wanneer u werkt vanuit een GitHub-opslagplaats, wordt er een GitHub Actions-werkstroom gemaakt waarmee automatisch een nieuwe containerinstallatiekopieën worden gemaakt en gepusht wanneer u wijzigingen doorvoert in uw GitHub-opslagplaats.
Als u de Container Apps-omgeving wilt aanpassen, maakt u eerst de omgeving met behulp van de az containerapp env create
opdracht. Als u geen bestaande omgeving opgeeft, zoekt de up
opdracht naar een omgeving in uw resourcegroep en gebruikt deze omgeving, indien gevonden. Als deze niet wordt gevonden, wordt er een omgeving met een Log Analytics-werkruimte gemaakt.
Zie az containerapp up
voor meer informatie over de az containerapp up
opdracht en de bijbehorende opties.
Vereisten
Vereiste | Instructies |
---|---|
Azure-account | Als u nog geen account hebt, maakt u gratis een account. U hebt de machtiging Inzender of Eigenaar voor het Azure-abonnement nodig om door te gaan. Raadpleeg Azure-rollen toewijzen met behulp van Azure Portal voor meer informatie. |
GitHub-account | Als u een GitHub-opslagplaats gebruikt, meldt u zich gratis aan. |
Azure-CLI | Installeer de Azure CLI. |
Lokale broncode | U moet een lokale broncodemap hebben als u lokale broncode gebruikt. |
Bestaande installatiekopieën | Als u een bestaande installatiekopieën gebruikt, hebt u de registerserver, de naam van de installatiekopieën en de tag nodig. Als u een persoonlijk register gebruikt, hebt u uw referenties nodig. |
Instellingen
Meld u aan bij Azure met de Azure CLI.
az login
Installeer vervolgens de Azure Container Apps-extensie voor de CLI.
az extension add --name containerapp --upgrade
Nu de huidige extensie of module is geïnstalleerd, registreert u de
Microsoft.App
naamruimte.az provider register --namespace Microsoft.App
Registreer de
Microsoft.OperationalInsights
provider voor de Azure Monitor Log Analytics-werkruimte.az provider register --namespace Microsoft.OperationalInsights
Implementeren vanuit een bestaande installatiekopieën
U kunt een container-app implementeren die gebruikmaakt van een bestaande installatiekopieën in een openbaar of privécontainerregister. Als u implementeert vanuit een privéregister, moet u uw referenties opgeven met behulp van de --registry-server
, --registry-username
en --registry-password
opties.
In dit voorbeeld voert de az containerapp up
opdracht de volgende acties uit:
- Hiermee maakt u een resourcegroep.
- Hiermee maakt u een omgeving en Log Analytics-werkruimte.
- Hiermee maakt en implementeert u een container-app die de installatiekopie ophaalt uit een openbaar register.
- Hiermee stelt u het inkomend verkeer van de container-app in op extern met een doelpoort ingesteld op de opgegeven waarde.
Voer de volgende opdracht uit om een container-app te implementeren vanuit een bestaande installatiekopieën. Vervang de <TIJDELIJKE AANDUIDINGEN> door uw waarden.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
--ingress external \
--target-port <PORT_NUMBER>
U kunt de up
opdracht gebruiken om een container-app opnieuw te implementeren. Als u opnieuw wilt implementeren met een nieuwe installatiekopie, gebruikt u de --image
optie om een nieuwe installatiekopie op te geven. Zorg ervoor dat de --resource-group
en environment
opties zijn ingesteld op dezelfde waarden als de oorspronkelijke implementatie.
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>
Implementeren vanuit lokale broncode
Wanneer u de up
opdracht gebruikt om te implementeren vanuit een lokale bron, wordt de containerinstallatiekopieën gebouwd, naar een register gepusht en de container-app geïmplementeerd. Het register wordt gemaakt in Azure Container Registry als u er geen opgeeft.
Met de opdracht kunt u de installatiekopieën bouwen met of zonder een Dockerfile. Als u zonder Dockerfile bouwt, worden de volgende talen ondersteund:
- .NET
- Node.js
- PHP
- Python
In het volgende voorbeeld ziet u hoe u een container-app implementeert vanuit lokale broncode.
In het voorbeeld voert de az containerapp up
opdracht de volgende acties uit:
- Hiermee maakt u een resourcegroep.
- Hiermee maakt u een omgeving en Log Analytics-werkruimte.
- Hiermee maakt u een register in Azure Container Registry.
- Bouwt de containerinstallatiekopieën (met behulp van het Dockerfile als deze bestaat).
- Pusht de installatiekopieën naar het register.
- Hiermee maakt en implementeert u de container-app.
Voer de volgende opdracht uit om een container-app te implementeren vanuit de lokale broncode:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY>\
--ingress external
Wanneer het Dockerfile de instructie EXPOSE bevat, configureert de opdracht de up
ingangs- en doelpoort van de container-app met behulp van de informatie in het Dockerfile.
Als u inkomend verkeer configureert via uw Dockerfile of uw app geen toegangsbeheerobject vereist, kunt u de ingress
optie weglaten.
De uitvoer van de opdracht bevat de URL voor de container-app.
Als er een fout opgetreden is, kunt u de opdracht opnieuw uitvoeren met de --debug
optie voor meer informatie over de fout. Als de build mislukt zonder dockerfile, kunt u proberen een Dockerfile toe te voegen en de opdracht opnieuw uit te voeren.
Als u de az containerapp up
opdracht wilt gebruiken om uw container-app opnieuw te implementeren met een bijgewerkte installatiekopie, neemt u de --resource-group
en --environment
argumenten op. In het volgende voorbeeld ziet u hoe u een container-app opnieuw implementeert vanuit de lokale broncode.
Breng wijzigingen aan in de broncode.
Voer de volgende opdracht uit:
az containerapp up \ --name <CONTAINER_APP_NAME> \ --source <SOURCE_DIRECTORY> \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVIRONMENT_NAME>
Implementeren vanuit een GitHub-opslagplaats
Wanneer u de az containerapp up
opdracht gebruikt om te implementeren vanuit een GitHub-opslagplaats, wordt er een GitHub Actions-werkstroom gegenereerd waarmee de containerinstallatiekopieën worden gebouwd, naar een register worden gepusht en de container-app wordt geïmplementeerd. Met de opdracht maakt u het register in Azure Container Registry als u er geen opgeeft.
Er is een Dockerfile vereist om de installatiekopieën te bouwen. Wanneer het Dockerfile de instructie EXPOSE bevat, configureert de opdracht de ingangs- en doelpoort van de container-app met behulp van de informatie in het Dockerfile.
In het volgende voorbeeld ziet u hoe u een container-app implementeert vanuit een GitHub-opslagplaats.
In het voorbeeld voert de az containerapp up
opdracht de volgende acties uit:
- Hiermee maakt u een resourcegroep.
- Hiermee maakt u een omgeving en Log Analytics-werkruimte.
- Hiermee maakt u een register in Azure Container Registry.
- Hiermee wordt de containerinstallatiekopieën gebouwd met behulp van het Dockerfile.
- Pusht de installatiekopieën naar het register.
- Hiermee maakt en implementeert u de container-app.
- Hiermee maakt u een GitHub Actions-werkstroom voor het bouwen van de containerinstallatiekopieën en implementeert u de container-app wanneer toekomstige wijzigingen naar de GitHub-opslagplaats worden gepusht.
Voer de volgende opdracht uit om een app te implementeren vanuit een GitHub-opslagplaats:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GitHub repository URL> \
--ingress external
Als u inkomend verkeer configureert via uw Dockerfile of uw app geen toegangsbeheerobject vereist, kunt u de ingress
optie weglaten.
Omdat met de up
opdracht een GitHub Actions-werkstroom wordt gemaakt, wordt deze opnieuw uitgevoerd om wijzigingen in de installatiekopieën van uw app te implementeren. Dit heeft het ongewenste effect van het maken van meerdere werkstromen. Push in plaats daarvan wijzigingen naar uw GitHub-opslagplaats en de GitHub-werkstroom bouwt en implementeert uw app automatisch. Als u de werkstroom wilt wijzigen, bewerkt u het werkstroombestand in GitHub.