Dela via


Självstudie: Distribuera ett containerprogram till Azure Container Instances

Det här är den sista självstudien i en serie med tre delar. Tidigare i serien skapades en behållaravbildning som sedan push-överfördes till Azure Container Registry. I den här artikeln slutför vi serien genom att distribuera behållaren till Azure Container Instances.

I den här kursen får du:

  • Distribuera behållaren 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 kunna slutföra den här självstudiekursen:

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älvstudiekursen förutsätter grundläggande kunskaper om 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-motorn på din lokala dator för att kunna fullfölja den här självstudiekursen. Du kan använda Azure Cloud Shell för den här självstudiekursen.

Distribuera containern med hjälp av Azure CLI

I det här avsnittet använder du Azure CLI för att distribuera den avbildning som du skapade i den första självstudiekursen och flyttade till Azure Container Registry i den andra självstudiekursen. Försäkra dig om att du har slutfört de självstudierna innan du går vidare.

Hämta autentiseringsuppgifter för registret

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änstens huvudnamns-ID och lösenordet för tjänstens huvudnamn. 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å ditt register):

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

Distribuera containern

Nu kan använda kommandot az container create för att distribuera behållaren. Ersätt <acrLoginServer> med det värde som du fick från föregående kommando. Ersätt <service-principal-ID> och <service-principal-password> med det ID och det lösenord för tjänstens huvudnamn som du skapade för att komma åt registret. Ersätt <aciDnsLabel> med ö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 där du skapar containerinstansen. Ändra värdet i föregående kommandot om du får ett felmeddelande för DNS-namnsetikett när du kör kommandot.

Verifiera distributionens fortskridande

Du kan se statusen för distributionen med az container show:

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

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

Visa program- och containerloggar

När distributionen är klar kan du visa behållarens fullständiga 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"

Gå till DNS-namnet som visas i webbläsaren om du vill se programmet som körs:

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 containerregistret som du skapade, den container som körs och alla relaterade resurser.

az group delete --name myResourceGroup

Nästa steg

I självstudien slutförde du processen att distribuera din behållare till Azure Container Instances. Följande steg har slutförts:

  • Distribuerade behållaren från Azure Container Registry med hjälp av Azure CLI
  • Visade programmet i webbläsaren
  • Visade containerloggarna

Nu när du har tillägnat dig grunderna kan du gå vidare och lära dig mer om Azure Container Instances, t.ex. hur behållargrupper fungerar:

Behållargrupper i Azure Container Instances