Zelfstudie: Een containertoepassing implementeren in Azure Container Instances

Dit is de laatste zelfstudie in een reeks van drie. U hebt eerder in de reeks een containerinstallatiekopie gemaakt en gepusht naar Azure Container Registry. In dit artikel wordt de reeks afgerond door de container te implementeren in Azure Container Instances.

In deze zelfstudie hebt u:

  • De Azure Container Registry-container implementeren in Azure Container Instances
  • De actieve toepassing weergeven in de browser
  • De logboeken van de container weergeven

Voordat u begint

U moet aan de volgende vereisten voldoen om deze zelfstudie te voltooien:

Azure CLI: Azure CLI versie 2.0.29 of hoger moet op uw lokale computer zijn geïnstalleerd. Voer az --version uit om de versie te bekijken. Als u uw CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren.

Docker: in deze zelfstudie wordt ervan uitgegaan dat u een basiskennis hebt van Docker-kernconcepten zoals containers, containerinstallatiekopieën en eenvoudige docker-opdrachten. Zie het Docker-overzicht voor een inleiding tot de basisprincipes van Docker en containers.

Docker: Als u deze zelfstudie wilt voltooien, moet Docker lokaal zijn geïnstalleerd. Docker biedt pakketten waarmee de Docker-omgeving op MacOS, Windows en Linux kan worden geconfigureerd.

Belangrijk

Omdat de Docker-daemon niet is opgenomen in Azure Cloud Shell, moeten zowel Azure CLI als Docker Engine op uw lokale computer zijn geïnstalleerd om deze zelfstudie te voltooien. U kunt niet Azure Cloud Shell gebruiken voor deze zelfstudie.

De container implementeren met behulp van de Azure CLI

In deze sectie gebruikt u Azure CLI om de installatiekopie te implementeren die u hebt gebouwd in de eerste zelfstudie en die u in de tweede zelfstudie naar Azure Container Registry hebt gepusht. Zorg ervoor dat u deze zelfstudies hebt voltooid voordat u verdergaat.

Registerreferenties ophalen

Wanneer u een installatiekopie implementeert die in een privé-containerregister van Azure wordt gehost, zoals de installatiekopie die u hebt gemaakt in de tweede zelfstudie, moet u referenties opgeven om toegang te krijgen tot het register.

Een best practice voor veel scenario's is het maken en configureren van een Microsoft Entra-service-principal met pull-machtigingen voor uw register. Zie Verifiëren met Azure Container Registry vanuit Azure Container Instances voor voorbeeldscripts om een service-principal te maken met de benodigde machtigingen. Noteer de id en het wachtwoord van de service-principal. U gebruikt deze referenties voor toegang tot het register wanneer u de container implementeert.

U hebt ook de volledige naam nodig van de aanmeldingsserver van het containerregister (vervang <acrName> door de naam van het register):

az acr show --name <acrName> --query loginServer

Container implementeren

Gebruik nu de opdracht az container create om de container te implementeren. Vervang <acrLoginServer> door de waarde die u hebt verkregen met de vorige opdracht. Vervang <service-principal-ID> en <service-principal-password> door de ID en het wachtwoord van de service-principal die u hebt gemaakt voor toegang tot het register. Vervang <aciDnsLabel> door een gewenste DNS-naam.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

U ontvangt binnen enkele seconden een eerste reactie van Azure. De waarde --dns-name-label moet uniek zijn voor de Azure-regio waar u de containerinstallatiekopie maakt. Wijzig de waarde in de vorige opdracht als u een foutbericht ontvangt over het DNS-naamlabel wanneer u de opdracht uitvoert.

Voortgang van implementatie verifiëren

Gebruik az container show om de status van de implementatie te bekijken:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Herhaal de opdracht az container show totdat de status verandert van In behandeling in Wordt uitgevoerd. Als het goed is, duurt dit minder dan een minuut. Wanneer de container de status Wordt uitgevoerd heeft, gaat u verder met de volgende stap.

De toepassings- en containerlogboeken bekijken

Wanneer de implementatie is geslaagd, geeft u de volledig gekwalificeerde domeinnaam (FQDN) van de container weer met de opdracht az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Voorbeeld:

"aci-demo.eastus.azurecontainer.io"

Als u de actieve toepassing wilt bekijken, navigeert u in uw browser naar de weergegeven DNS-naam:

Hello world-app in browser

U kunt ook de logboekuitvoer van de container bekijken:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Voorbeelduitvoer:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Resources opschonen

Als u de resources die u in de zelfstudiereeks hebt gemaakt, niet langer nodig hebt, kunt u de opdracht az group delete uitvoeren om de resourcegroep en alle resources daarin te verwijderen. Met deze opdracht verwijdert u het containerregister dat u hebt gemaakt, evenals de actieve container en alle gerelateerde resources.

az group delete --name myResourceGroup

Volgende stappen

In deze zelfstudie hebt u het proces voor het implementeren van uw container naar Azure Container Instances voltooid. De volgende stappen zijn voltooid:

  • De container van Azure Container Registry implementeren met behulp van Azure CLI
  • De toepassing in de browser bekijken
  • De containerlogboeken ophalen

Nu u de basisprincipes onder de knie hebt, kunt u meer leren over Azure Container Instances, bijvoorbeeld hoe containergroepen werken:

Containergroepen in Azure Container Instances