Delen via


Zelfstudie: een Azure-containerregister maken en een containerinstallatiekopie pushen

Dit is deel 2 van een zelfstudie met drie delen. 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 nog geen containerinstallatiekopie hebt gemaakt, gaat u terug naar Zelfstudie 1: Containerinstallatiekopie 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 bekijken. 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: Voor het voltooien van deze zelfstudie, hebt u een lokale installatie van Docker nodig. 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 Container Registry 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 het containerregister

U moet u aanmelden bij het Azure Container Registry-exemplaar voordat u installatiekopieën kunt pushen. 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>

Bijvoorbeeld:

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 opdracht az acr show uit en vervang <acrName> door de naam van het register dat u zojuist 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 aci-tutorial-app hebt gelabeld met de volledige naam van de aanmeldingsserver voor uw privéregister, kunt u installatiekopie naar het register pushen met de opdracht docker push. 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 bewerking push duurt minimaal enkele seconden tot maximaal enkele minuten afhankelijk van de internetverbinding, en de uitvoer ziet er ongeveer als volgt uit:

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

Bijvoorbeeld:

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

De uitvoer ziet er als volgt uit:

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