Een Docker-installatiekopie implementeren in een Azure-containerinstantie

Voltooid

Azure Container Instance is een service waarmee Docker-installatiekopieën op aanvraag worden geladen en uitgevoerd. De Azure Container Instance-service kan een installatiekopieën ophalen uit een register, zoals Docker Hub of Azure Container Registry.

Uw organisatie wil Azure gebruiken om de webtoepassingen uit te voeren. Daarom is het zinvol om de installatiekopieën op te slaan in Azure Container Registry en deze uit te voeren met behulp van de Azure Container Instance-service.

In deze les leert u hoe u een Docker-installatiekopieën uploadt naar Azure Container Registry. Vervolgens voert u de installatiekopieën uit met behulp van de Azure Container Instance-service.

Azure Container Registry gebruiken om een container op te slaan

Azure Container Registry is een service voor het hosten van registers die wordt geleverd door Azure. Elke Azure Container Registry-resource die u maakt is een afzonderlijk register met een unieke URL. Deze registers zijn privé, wat betekent dat ze verificatie nodig hebben om installatiekopieën te pushen of op te halen. Azure Container Registry wordt uitgevoerd in de cloud en biedt vergelijkbare schaalbaarheids- en beschikbaarheidsniveaus voor andere Azure-services.

U kunt een register maken met behulp van Azure Portal of de Azure-opdrachtregelinterface (CLI). U kunt Cloud Shell gebruiken in Azure Portal of een lokale installatie van de Azure CLI. Houd er rekening mee dat u een resourcegroep moet maken voordat u het register kunt maken. Wanneer u een resourcegroep maakt, wordt u aangeraden de dichtstbijzijnde regio te kiezen. In dit voorbeeld is mygroupde naam van de resourcegroep en de locatie US - west.

U hoeft geen van de volgende opdrachten uit te voeren. Dat doen we in de volgende les.

Notitie

U hebt een unieke naam nodig voor uw container. U kunt controleren of hier al een naam in gebruik is.

az group create --name mygroup --location westus
az acr create --name <unique name> --resource-group mygroup --sku standard --admin-enabled true

Verschillende SKU's bieden diverse schaalbaarheids- en opslagniveaus.

Azure Container Registry-opslagplaatsen zijn privé, wat betekent dat ze geen ondersteuning bieden voor niet-geverifieerde toegang. Als u installatiekopieën uit de opslagplaats van een Azure Container Registry wilt ophalen, gebruikt u de docker login en geeft u de URL van de aanmeldingsserver van het register op. De URL van de aanmeldingsserver voor een register in Azure Container Registry heeft de vorm <registry_name>.azurecr.io.

docker login myregistry.azurecr.io

Docker-aanmelding vraagt u om een gebruikersnaam en wachtwoord. Als u deze informatie wilt vinden, gaat u naar Azure Portal en zoekt u de toegangssleutels voor het register op of voert u de volgende opdracht uit.

az acr credential show --name myregistry --resource-group mygroup

U pusht een installatiekopieën van uw lokale computer naar een Docker-register met behulp van de docker push opdracht. Voordat u een installatiekopieën pusht, moet u een alias maken voor de installatiekopieën waarmee de opslagplaats en tag worden opgegeven die door het Docker-register worden gemaakt. De naam van de opslagplaats moet van het formulier *<login_server>/<image_name>:<tag/>zijn. Gebruik de opdracht docker tag om deze bewerking uit te voeren. In het volgende voorbeeld wordt een alias gemaakt voor de installatiekopieën van het reserveringssysteem .

docker tag reservationsystem myregistry.azurecr.io/reservationsystem:v2

Als u uitvoert docker image ls, ziet u twee vermeldingen voor de afbeelding: één met de oorspronkelijke naam en de tweede met de nieuwe alias.

Nadat u de tagopdracht hebt uitgevoerd, kunt u de installatiekopieën uploaden naar het register in Azure Container Registry met behulp van de volgende opdracht.

docker push myregistry.azurecr.io/reservationsystem:v2

Controleer of de installatiekopieën correct zijn geüpload door de opslagplaatsen in het register weer te geven met de volgende opdracht.

az acr repository list --name myregistry --resource-group mygroup

U kunt ook de installatiekopieën in het register weergeven met de acr repository show opdracht.

az acr repository show --repository reservationsystem --name myregistry --resource-group mygroup

Notitie

U ziet ten minste twee tags voor elke installatiekopieën in een opslagplaats. Eén tag is de waarde die u hebt opgegeven in de opdracht acr build (v1 in het vorige voorbeeld). De andere krijgt de waarde nieuwste. Steeds wanneer u opnieuw een installatiekopie maakt, wordt in Azure Container Registry automatisch het label nieuwste gemaakt als een alias voor de meest recente versie van de installatiekopie.

Azure Container Instance gebruiken om een installatiekopieën uit te voeren

Met de Azure Container Instance-service kan een installatiekopie uit Azure Container Registry worden geladen en in Azure worden uitgevoerd.

U maakt een containerinstantie en start de installatiekopie die wordt uitgevoerd met de opdracht az container create. Geef de gebruikersnaam en het wachtwoord voor het register op in de parameters registry-username en registry-password. Aan de instantie wordt een IP-adres toegewezen. Met dit IP-adres hebt u toegang tot de instantie. U kunt indien gewenst een DNS-naam opgeven als u liever met een gebruiksvriendelijker label naar de instantie wilt verwijzen. Zoals u ziet, duidt u de installatiekopie aan met een URL die verwijst naar uw register (myregistry) in de Azure Container Registry-service (azurecr.io). Als u Docker Hub of een ander register gebruikt, vervangt u deze URL door de URL van uw installatiekopieën in dat register.

az container create --resource-group mygroup --name myinstance --image myregistry.azurecr.io/myapp:latest --dns-name-label mydnsname --registry-username <username> --registry-password <password>

Azure host het exemplaar met een domeinnaam op basis van het DNS-label dat u hebt opgegeven. U vindt de volledig gekwalificeerde domeinnaam van het exemplaar door een query uit te voeren op het IP-adres van het exemplaar.

az container show --resource-group mygroup --name myinstance --query ipAddress.fqdn

U hebt toegang tot de toepassing via een webbrowser. U kunt naar de URL navigeren die door deze opdracht wordt geretourneerd. In de volgende les leert u hoe u dit doet.