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:
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.
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.