Snabbstart: Distribuera en containerinstans i Azure med hjälp av Docker CLI

Använd Azure Container Instances för att köra serverlösa Docker-containrar i Azure med enkelhet och hastighet. Distribuera till en containerinstans på begäran när du utvecklar molnbaserade appar och vill växla sömlöst från lokal utveckling till molndistribution.

I den här snabbstarten använder du inbyggda Docker CLI-kommandon för att distribuera en Docker-container och göra programmet tillgängligt i Azure Container Instances. Den här funktionen aktiveras genom integrering mellan Docker och Azure. Några sekunder efter att du har kört docker run ett kommando kan du bläddra till programmet som körs i containern:

App som distribuerats via Azure Container Instances visas i webbläsare

Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

För den här snabbstarten behöver du Docker Desktop version 2.3.0.5 eller senare, tillgänglig för Windows eller macOS. Eller installera Docker ACI Integration CLI för Linux.

Viktigt

Alla funktioner i Azure Container Instances stöds inte. Ge feedback om Docker-Azure-integreringen genom att skapa ett problem i lagringsplatsen aci-integration-beta GitHub.

Skapa Azure-kontext

Om du vill använda Docker-kommandon för att köra behållare i Azure Container Instances loggar du först in på Azure:

docker login azure

När du uppmanas till det anger eller väljer du dina autentiseringsuppgifter för Azure.

Skapa en ACI-kontext genom att köra docker context create aci . Den här kontexten kopplar Docker med en Azure-prenumeration och resurs grupp så att du kan skapa och hantera behållar instanser. Till exempel för att skapa en kontext som heter myacicontext:

docker context create aci myacicontext

När du uppmanas väljer du ditt ID för Azure-prenumerationen och väljer sedan en befintlig resurs grupp eller skapar en ny resurs grupp. Om du väljer en ny resurs grupp skapas den med ett namn som skapats av systemet. Azure-containerinstanser måste, precis som alla Azure-resurser, distribueras i en resursgrupp. Resursgrupper gör det enkelt att organisera och hantera relaterade Azure-resurser.

Kör docker context ls för att bekräfta att du har lagt till ACI-kontexten till Docker-kontexterna:

docker context ls

Skapa en container

När du har skapat en Docker-kontext kan du skapa en container i Azure. I den här snabbstarten använder du den offentliga mcr.microsoft.com/azuredocs/aci-helloworld avbildningen. Den här avbildningen paketerar en liten webbapp som skrivits i Node.js och som hanterar en statisk HTML-sida.

Ändra först till ACI-kontexten. Alla efterföljande Docker-kommandon körs i den här kontexten.

docker context use myacicontext

Kör följande kommando docker run för att skapa Azure-containerinstansen med port 80 exponerad för Internet:

docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld

Exempel på utdata för en lyckad distribution:

[+] Running 2/2
 ⠿ hungry-kirch            Created                                                                               5.1s
 ⠿ single--container--aci  Done                                                                                 11.3s
hungry-kirch

Kör docker ps för att få information om containern som körs, inklusive den offentliga IP-adressen:

docker ps

Exempelutdata visar en offentlig IP-adress, i det här fallet 52.230.225.232:

CONTAINER ID        IMAGE                                        COMMAND             STATUS              PORTS
hungry-kirch        mcr.microsoft.com/azuredocs/aci-helloworld                       Running             52.230.225.232:80->80/tcp

Gå nu till IP-adressen i webbläsaren. Om du ser en webbsida som liknar följande – grattis! Du har distribuerat ett program som körs i en dockercontainer till Azure.

App som distribuerats via Azure Container Instances visas i webbläsare

Hämta containerloggarna

Om du behöver felsöka en container eller det program som körs av containern (eller bara se dess utdata), börjar du med att granska loggarna för containerinstansen.

Du kan till exempel köra docker logs kommandot för att se loggarna för containern hungry- container i ACI-kontexten:

docker logs hungry-kirch

Utdata visar loggarna för containern och bör även visa de HTTP GET-förfrågningar som genererades när du granskade programmet i webbläsaren.

listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

Rensa resurser

När du är klar med containern kör du för docker rm att ta bort den. Det här kommandot stoppar och tar bort Azure-containerinstansen.

docker rm hungry-kirch

Nästa steg

I den här snabbstarten skapade du en Azure-containerinstans från en offentlig avbildning med hjälp av integrering mellan Docker och Azure. Läs mer om integreringsscenarier i Docker-dokumentationen.

Du kan också använda Docker-tillägget för Visual Studio Code för en integrerad upplevelse för att utveckla, köra och hantera containrar, avbildningar och kontexter.

Om du vill använda Azure-verktyg för att skapa och hantera containerinstanser kan du gå till andra snabbstarter med hjälp av Azure CLI, Azure PowerShell, Azure Portal och Azure Resource Manager mallen.

Om du vill använda Docker Compose för att definiera och köra ett program med flera containrar lokalt och sedan växla till Azure Container Instances fortsätter du till självstudien.