Share via


Snabbstart: Distribuera en containerinstans i Azure med 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 du vill växla sömlöst från lokal utveckling till molndistribution.

I den här snabbstarten använder du interna Docker CLI-kommandon för att distribuera en Docker-container och göra dess program 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 ett docker run 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 integrering genom att skapa ett problem på GitHub-lagringsplatsen aci-integration-beta .

Skapa Azure-kontext

Om du vill använda Docker-kommandon för att köra containrar 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 Azure-autentiseringsuppgifter.

Skapa en ACI-kontext genom att köra docker context create aci. Den här kontexten associerar Docker med en Azure-prenumeration och resursgrupp så att du kan skapa och hantera containerinstanser. Om du till exempel vill skapa en kontext med namnet myacicontext:

docker context create aci myacicontext

När du uppmanas väljer du ditt Prenumerations-ID för Azure och väljer sedan en befintlig resursgrupp eller skapar en ny resursgrupp. Om du väljer en ny resursgrupp skapas den med ett systemgenererat namn. 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 i Dina Docker-kontexter:

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.

Börja med att ändra till ACI-kontexten. Alla efterföljande Docker-kommandon körs i den här kontexten.

docker context use myacicontext

Kör följande docker run kommando 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.

Kör till exempel docker logs kommandot för att se loggarna för containern hungry-kirch 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 docker rm du för 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 läsa andra snabbstarter med hjälp av mallen Azure CLI, Azure PowerShell, Azure Portal och Azure Resource Manager.

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.