Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik Azure Container Instances om snel en eenvoudig serverloze Docker-containers uit te voeren in Azure. Een toepassing implementeren in een containerinstantie op aanvraag, wanneer u geen volledig indelingsplatform voor containers nodig hebt zoals Azure Kubernetes Service.
In deze quickstart gebruikt u de Azure CLI om een geïsoleerde Docker-container te implementeren en de toepassing beschikbaar te maken met een FQDN (Fully Qualified Domain Name). Een paar seconden nadat u één implementatieopdracht hebt uitgevoerd, kunt u bladeren naar de toepassing die wordt uitgevoerd in de container:
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Vereiste voorwaarden
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Volg de stappen die worden weergegeven in uw terminal om het verificatieproces te voltooien. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u hierom wordt gevraagd, installeert u de Azure CLI-extensie voor het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
Voor deze quickstart is versie 2.0.55 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Waarschuwing
Best practice: gebruikersgegevens die worden doorgegeven via de command line interface (CLI) worden opgeslagen als platte tekst in de backend. Het opslaan van referenties in tekst zonder opmaak is een beveiligingsrisico; Microsoft adviseert klanten om gebruikersreferenties op te slaan in cli-omgevingsvariabelen om ervoor te zorgen dat ze worden versleuteld/getransformeerd wanneer ze zijn opgeslagen in de back-end.
Een brongroep maken
Azure-containerinstanties, zoals alle Azure-resources, moeten worden geïmplementeerd in een resourcegroep. Met resourcegroepen kunt u gerelateerde Azure-resources organiseren en beheren.
Maak eerst een resourcegroep met de naam myResourceGroup op de locatie eastus met de opdracht az group create :
az group create --name myResourceGroup --location eastus
Een container maken
Nu u een resourcegroep hebt, kunt u een container uitvoeren in Azure. Als u een containerinstantie wilt maken met de Azure CLI, geeft u een resourcegroepnaam, de naam van de containerinstantie en de Docker-containerimage op voor de opdracht az container create. In deze snelstartgids gebruikt u de openbare mcr.microsoft.com/azuredocs/aci-helloworld afbeelding. Deze afbeelding verpakt een kleine web-app die is geschreven in Node.js die een statische HTML-pagina dient.
U kunt uw containers beschikbaar maken op internet door een of meer poorten op te geven die moeten worden geopend, een DNS-naamlabel of beide. In deze quickstart implementeert u een container met een DNS-naamlabel, zodat de web-app openbaar bereikbaar is.
Voer een opdracht uit zoals hieronder om een containerinstantie te starten. Stel een --dns-name-label waarde in die uniek is binnen de Azure-regio waar u het exemplaar maakt. Als u een foutbericht 'DNS-naamlabel niet beschikbaar' ontvangt, probeert u een ander DNS-naamlabel.
az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80 --os-type linux --memory 1.5 --cpu 1
Als u de container wilt implementeren in een specifieke beschikbaarheidszone, gebruikt u het --zone argument en geeft u het nummer van de logische zone op:
az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80 --os-type linux --memory 1.5 --cpu 1 --zone 1
Belangrijk
Zonegebonden implementaties zijn alleen beschikbaar in regio's die beschikbaarheidszones ondersteunen. Als u wilt zien of uw regio beschikbaarheidszones ondersteunt, raadpleegt u de lijst met Azure-regio's.
Binnen een paar seconden krijgt u een reactie van de Azure CLI die aangeeft dat de implementatie is voltooid. Controleer de status ervan met de opdracht az container show :
az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
Wanneer u de opdracht uitvoert, worden de FQDN(Fully Qualified Domain Name) van de container en de inrichtingsstatus weergegeven.
FQDN ProvisioningState
--------------------------------- -------------------
aci-demo.eastus.azurecontainer.io Succeeded
Als de container ProvisioningStateis geslaagd, gaat u naar de FQDN in uw browser. Als u een webpagina ziet die lijkt op het volgende, gefeliciteerd! U hebt een toepassing geïmplementeerd die wordt uitgevoerd in een Docker-container naar Azure.
Als de toepassing in eerste instantie niet wordt weergegeven, moet u mogelijk een paar seconden wachten terwijl DNS wordt doorgegeven en probeer vervolgens uw browser te vernieuwen.
De containerlogboeken ophalen
Wanneer u problemen met een container of de toepassing die erop wordt uitgevoerd wilt oplossen (of alleen de uitvoer daarvan wilt zien), bekijkt u eerst de logboeken van het containerexemplaar.
Haal de containerinstantie-logboeken op met de opdrachtaz container logs:
az container logs --resource-group myResourceGroup --name mycontainer
In de uitvoer worden de logboeken voor de container weergegeven en moeten de HTTP GET-aanvragen worden weergegeven die worden gegenereerd wanneer u de toepassing in uw browser hebt bekeken.
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019: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"
Uitvoerstromen koppelen
Naast het weergeven van de logboeken, kunt u uw lokale standaarduitvoer en standaardfoutuitvoer koppelen met die van de container.
Voer eerst de opdracht az container attach uit om uw lokale console te koppelen aan de uitvoerstreams van de container:
az container attach --resource-group myResourceGroup --name mycontainer
Nadat u deze hebt gekoppeld, vernieuwt u de browser een paar keer om wat meer uitvoer te genereren. Wanneer u klaar bent, koppelt u de console los met Control+C. U zou een uitvoer moeten zien die lijkt op het volgende voorbeeld:
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 17:27:20+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:24+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Started container
Start streaming logs:
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019:17:47:01 +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.56 - - [21/Mar/2019:17:47:12 +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"
De hulpbronnen opschonen
Wanneer u klaar bent met de container, verwijdert u deze met behulp van de opdracht az container delete :
az container delete --resource-group myResourceGroup --name mycontainer
Voer de opdracht az container list uit om te controleren of de container is verwijderd:
az container list --resource-group myResourceGroup --output table
De container mycontainer mag niet worden weergegeven in de uitvoer van de opdracht. Als u geen andere containers in de resourcegroep hebt, wordt er geen uitvoer weergegeven.
Als u klaar bent met de resourcegroep myResourceGroup en alle resources die deze bevat, verwijdert u deze met de opdracht az group delete :
az group delete --name myResourceGroup
Volgende stappen
In deze snelle start hebt u een Azure-containerinstantie gemaakt met behulp van een openbare Microsoft-afbeelding. Als u zelf een containerinstallatiekopie wilt bouwen en deze wilt implementeren met behulp van een privé Azure Container-register, gaat u verder met de zelfstudie voor Azure Container Instances.
Als u opties wilt uitproberen voor het uitvoeren van containers in een indelingssysteem in Azure, raadpleegt u de quickstarts van Azure Kubernetes Service (AKS ).