Zelfstudie: Een Azure-containerregister maken en een containerinstallatiekopieën pushen
Dit artikel is deel twee van een driedelige zelfstudie. In deel één van de zelfstudie hebt u een Docker-containerinstallatiekopie gemaakt voor een Node.js-webtoepassing. In deze zelfstudie pusht u de installatiekopie naar Azure Container Registry. Als u de containerinstallatiekopieën wilt maken, gaat u terug naar zelfstudie 1: Containerinstallatiekopieën maken.
Azure Container Registry is uw privéregister van Docker in Azure. In deze zelfstudie, het tweede deel van de serie, leert u het volgende:
- Een Azure Container Registry-exemplaar maken met de Azure CLI
- Een containerinstallatiekopie taggen voor het Azure Container Registry
- De installatiekopie uploaden naar het register
In het volgende artikel, de laatste in de reeks, implementeert u de container uit uw privéregister naar Azure Container Instances.
Voordat u begint
U moet aan de volgende vereisten voldoen om deze zelfstudie te voltooien:
Azure CLI: Azure CLI versie 2.0.29 of hoger moet op uw lokale computer zijn geïnstalleerd. Voer az --version
uit om de versie te zoeken. Als u uw CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren.
Docker: in deze zelfstudie wordt ervan uitgegaan dat u een basiskennis hebt van Docker-kernconcepten zoals containers, containerinstallatiekopieën en eenvoudige docker
-opdrachten. Zie het Docker-overzicht voor een inleiding tot de basisprincipes van Docker en containers.
Docker: Als u deze zelfstudie wilt voltooien, moet Docker lokaal zijn geïnstalleerd. Docker biedt pakketten waarmee de Docker-omgeving op MacOS, Windows en Linux kan worden geconfigureerd.
Belangrijk
Omdat de Docker-daemon niet is opgenomen in Azure Cloud Shell, moeten zowel Azure CLI als Docker Engine op uw lokale computer zijn geïnstalleerd om deze zelfstudie te voltooien. U kunt niet Azure Cloud Shell gebruiken voor deze zelfstudie.
Azure Container Registry maken
Voordat u het containerregister maakt, hebt u een resourcegroep nodig om dit in te implementeren. Een resourcegroep is een logische verzameling waarin alle Azure-resources worden geïmplementeerd en beheerd.
Een resourcegroep maken met de opdracht az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio eastus:
az group create --name myResourceGroup --location eastus
Zodra u de resourcegroep hebt gemaakt, maakt u een Azure-containerregister met de opdracht az acr create . De containerregisternaam moet uniek zijn binnen Azure en mag 5 tot 50 alfanumerieke tekens bevatten. Vervang <acrName>
door een unieke naam voor het register:
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
Hier volgt een gedeeltelijke uitvoer voor een nieuw Azure-containerregister met de naam mycontainerregistry082:
{
"creationDate": "2020-07-16T21:54:47.297875+00:00",
"id": "/subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry082",
"location": "eastus",
"loginServer": "mycontainerregistry082.azurecr.io",
"name": "mycontainerregistry082",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
In de rest van de zelfstudie wordt naar <acrName>
verwezen als tijdelijke aanduiding voor de containerregisternaam die u in deze stap hebt gekozen.
Aanmelden bij containerregister
U moet zich aanmelden bij uw Azure Container Registry-exemplaar voordat u er installatiekopieën naar pusht. Gebruik de opdracht az acr login om de bewerking te voltooien. U moet de unieke naam van het containerregister opgeven die u hebt gekozen toen u het maakte.
az acr login --name <acrName>
Voorbeeld:
az acr login --name mycontainerregistry082
De opdracht retourneert Login Succeeded
nadat deze is voltooid:
Login Succeeded
Containerinstallatiekopieën taggen
Als u een containerinstallatiekopie naar een privéregister zoals Azure Container Registry wilt pushen, moet u de installatiekopie eerst labelen met de volledige naam van de aanmeldingsserver van het register.
Haal eerst de volledige naam van de aanmeldingsserver op voor uw Azure Container Registry. Voer de volgende az acr show-opdracht uit en vervang deze door <acrName>
de naam van het register dat u hebt gemaakt:
az acr show --name <acrName> --query loginServer --output table
Bijvoorbeeld, als de naam van het register mycontainerregistry082 is:
az acr show --name mycontainerregistry082 --query loginServer --output table
Result
------------------------
mycontainerregistry082.azurecr.io
Geef nu de lijst met lokale installatiekopieën weer met behulp van de opdracht docker images:
docker images
Samen met eventuele andere installatiekopieën op uw computer ziet u nu de installatiekopie aci-tutorial-app die u hebt gebouwd in de vorige zelfstudie:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
Label de installatiekopie aci-tutorial-app met de aanmeldingsserver van de containerregister. Voeg ook het label :v1
toe aan het eind van de installatiekopienaam om het versienummer van de installatiekopie aan te geven. Vervang <acrLoginServer>
door het resultaat van de opdracht az acr show die u eerder hebt uitgevoerd.
docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1
Voer docker images
opnieuw uit om het labelen te controleren:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app v1 5c745774dfa9 7 minutes ago 68.1 MB
Installatiekopie pushen naar Azure Container Registry
Nu u de installatiekopieën van de aci-tutorial-app hebt getagd met de volledige aanmeldingsservernaam van uw privéregister, kunt u de installatiekopieën naar het register pushen met de docker-pushopdracht . Vervang <acrLoginServer>
door de volledige naam van de aanmeldingsserver die u in de vorige stap hebt verkregen.
docker push <acrLoginServer>/aci-tutorial-app:v1
De push
bewerking duurt enkele seconden tot een paar minuten, afhankelijk van uw internetverbinding en de uitvoer is vergelijkbaar met het volgende voorbeeld:
docker push mycontainerregistry082.azurecr.io/aci-tutorial-app:v1
The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576
Installatiekopieën vermelden in Azure Container Registry
Als u wilt controleren of de installatiekopie die u zojuist hebt gepusht, zich inderdaad in uw Azure Container Registry bevindt, geeft u de installatiekopieën in uw register weer met de opdracht az acr repository list. Vervang <acrName>
door de naam van het containerregister.
az acr repository list --name <acrName> --output table
Voorbeeld:
az acr repository list --name mycontainerregistry082 --output table
Result
----------------
aci-tutorial-app
Gebruik de opdracht az acr repository show-tags om de labels voor een specifieke installatiekopie te zien.
az acr repository show-tags --name <acrName> --repository aci-tutorial-app --output table
Als het goed is, ziet u uitvoer die lijkt op het volgende voorbeeld:
--------
v1
Volgende stappen
In deze zelfstudie hebt u een Azure Container Registry voorbereid voor gebruik met Azure Container Instances en hebt u een containerinstallatiekopie naar het register gepusht. De volgende stappen zijn voltooid:
- Er is een Azure Container Registry-exemplaar gemaakt met de Azure CLI
- Er is een containerinstallatiekopie getagd voor Azure Container Registry
- Er is een installatiekopie naar Azure Container Registry geüpload
Ga verder met de volgende zelfstudie voor meer informatie over het implementeren van de container in Azure met behulp van Azure Container Instances: