Delen via


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: