Självstudie: Distribuera ett containerprogram till Azure Container Instances

Det här är den sista guiden i en serie med tre delar. Tidigare i serien skapades en containeravbildning och överfördes till Azure Container Registry. Den här artikeln slutför serien genom att distribuera containern till Azure Container Instances.

I den här handledningen kommer du att:

  • Distribuera containern från Azure Container Registry till Azure Container Instances
  • Visa det program som körs i webbläsaren
  • Visa containerns loggar

Innan du börjar

Du måste uppfylla följande krav för att slutföra den här självstudien:

Azure CLI: Du måste ha Azure CLI version 2.0.29 eller senare installerat på den lokala datorn. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI.

Docker: Den här självstudien förutsätter en grundläggande förståelse av grundläggande Docker-begrepp som containrar, containeravbildningar och grundläggande docker kommandon. En introduktion till grunderna för Docker och containrar finns i Docker-översikt.

Docker: För att slutföra den här självstudien behöver du Docker installerat lokalt. Docker innehåller paket som konfigurerar Docker-miljön på macOS, Windows och Linux.

Viktigt!

Eftersom Azure Cloud Shell inte innehåller Docker-daemon måste du installera både Azure CLI och Docker Engine på den lokala datorn för att slutföra den här självstudien. Du kan inte använda Azure Cloud Shell för den här handledningen.

Distribuera containern med hjälp av Azure CLI

I det här avsnittet använder du Azure CLI för att distribuera avbildningen som skapades i den första självstudien och push-överfördes till Azure Container Registry i den andra självstudien. Se till att du slutför de här självstudierna innan du fortsätter.

Hämta registerautentiseringsuppgifter

När du distribuerar en avbildning som finns i ett privat Azure-containerregister som det som skapades i den andra självstudien måste du ange autentiseringsuppgifter för att få åtkomst till registret.

Bästa praxis för många scenarier är att skapa och konfigurera ett Microsoft Entra-tjänsthuvudnamn med pull-behörigheter till registret. Se Autentisera med Azure Container Registry från Azure Container Instances för exempelskript för att skapa ett huvudnamn för tjänsten med nödvändiga behörigheter. Anteckna tjänsteprincipens ID och tjänsteprincipens lösenord. Du använder dessa autentiseringsuppgifter för att komma åt registret när du distribuerar containern.

Du behöver också det fullständiga namnet på containerregistrets inloggningsserver (ersätt <acrName> med namnet på registret):

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

Distribuera container

Använd kommandot az container create för att distribuera containern. Ersätt <acrLoginServer> med det värde som du hämtade från föregående kommando. Ersätt <service-principal-ID> och <service-principal-password> med tjänstens huvudnamns-ID och lösenord som du skapade för att komma åt registret. Ersätt <aciDnsLabel> med ett önskat DNS-namn.

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

Inom några sekunder bör du få ett första svar från Azure. Värdet --dns-name-label måste vara unikt i den Azure-region som du skapar containerinstansen. Ändra värdet i föregående kommando om du får felmeddelandet DNS-namnetikett när du kör kommandot.

Verifiera distributionens förlopp

Om du vill visa distributionens tillstånd använder du az container show:

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

Upprepa kommandot az container show tills tillståndet ändras från Väntar till Körs, vilket bör ta under en minut. När containern är i drift fortsätter du till nästa steg.

Visa program- och containerloggarna

När distributionen har slutförts visar du containerns fullständigt kvalificerade domännamn (FQDN) med kommandot az container show :

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

Till exempel:

"aci-demo.eastus.azurecontainer.io"

Om du vill se det program som körs navigerar du till det dns-namn som visas i din favoritwebbläsare:

Hello World-app i webbläsaren

Du kan också visa loggutdata för containern:

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

Exempel på utdata:

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"

Rensa resurser

Om du inte längre behöver någon av de resurser som du skapade i den här självstudieserien kan du köra kommandot az group delete för att ta bort resursgruppen och alla resurser som den innehåller. Det här kommandot tar bort det containerregister som du skapade, den container som körs och alla relaterade resurser.

az group delete --name myResourceGroup

Nästa steg

I den här handledningen har du avslutat processen med att distribuera din container till Azure Container Instances. Följande steg har slutförts:

  • Distribuerade containern från Azure Container Registry med hjälp av Azure CLI
  • Programmet visas i webbläsaren
  • Granskade containerloggarna

Nu när du har grunderna nere kan du gå vidare till att lära dig mer om Azure Container Instances, till exempel hur containergrupper fungerar:

Containergrupper i Azure Container Instances