Quickstart: Een privé-containerregister maken met Azure CLI

Azure Container Registry is een privéregisterservice voor het bouwen, opslaan en beheren van containerinstallatiekopieën en gerelateerde artefacten. In deze quickstart maakt u een Azure Container Registry-exemplaar met de Azure CLI. Gebruik vervolgens Docker-opdrachten om een containerinstallatiekopie naar het register pushen, waarna u de installatiekopie ophaalt en uitvoert vanuit het register.

Voor deze snelstart moet u Azure CLI uitvoeren (versie 2.0.55 of later aanbevolen). Voer az --version uit om de versie te bekijken. Zie Azure CLI installeren als u de CLI wilt installeren of een upgrade wilt uitvoeren.

Docker moet ook lokaal zijn geïnstalleerd. Docker biedt pakketten die eenvoudig Docker configureren op elk macOS-, Windows- of Linux-systeem.

Omdat Azure Cloud-Shell niet alle vereiste Docker-onderdelen bevat (de dockerd-daemon), kunt u de Cloud Shell niet voor deze snelstart gebruiken.

Een resourcegroep maken

Een resourcegroep maken met de opdracht az group create. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.

In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie VS - oost.

az group create --name myResourceGroup --location eastus

Een containerregister maken

In deze quickstart maakt u een Basic-register. Dit is een voor kosten geoptimaliseerde optie voor ontwikkelaars die meer willen leren over Azure Container Registry. Zie Servicelagen voor Container Registry voor meer informatie over de beschikbare servicelagen.

Maak een ACR-exemplaar met de opdracht az acr create. De registernaam moet uniek zijn binnen Azure en moet 5-50 kleine alfanumerieke tekens bevatten. In het volgende voorbeeld wordt mycontainerregistry gebruikt. Werk deze waarde bij naar een unieke waarde.

az acr create --resource-group myResourceGroup \
  --name mycontainerregistry --sku Basic

Wanneer het register is gemaakt, is de uitvoer vergelijkbaar met het volgende:

{
  "adminUserEnabled": false,
  "creationDate": "2019-01-08T22:32:13.175925+00:00",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry",
  "location": "eastus",
  "loginServer": "mycontainerregistry.azurecr.io",
  "name": "mycontainerregistry",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Noteer loginServer in de uitvoer. Dit is de volledig gekwalificeerde registernaam (in kleine letters). In de rest van deze quickstart wordt <registry-name> gebruikt als tijdelijke aanduiding voor de naam van het containerregister en wordt <login-server> gebruikt als tijdelijke aanduiding voor naam van de aanmeldingsserver voor het register.

Tip

In deze quickstart maakt u een Basic-register. Dit is een optie die is geoptimaliseerd voor kosten voor ontwikkelaars die meer te weten komen over Azure Container Registry. Kies andere lagen voor verbeterde doorvoer van opslag en installatiekopieën, en mogelijkheden zoals verbinding met behulp van een privé-eindpunt. Zie Servicelagen voor containerregister voor meer informatie over de beschikbare servicelagen (SKU's).

Aanmelden bij register

Voordat u installatiekopieën van containers gaat pushen en ophalen, moet u zich aanmelden bij het register. Gebruik hiervoor de opdracht az acr login. Geef alleen de naam van de registerresource op wanneer u zich aanmeldt met de Azure CLI. Gebruik niet de volledig gekwalificeerde aanmeldingsservernaam.

az acr login --name <registry-name>

Voorbeeld:

az acr login --name mycontainerregistry

Met de opdracht wordt een Login Succeeded-bericht geretourneerd nadat deze is voltooid.

Installatiekopie pushen naar register

Als u een installatiekopie naar een Azure Container Registry wilt pushen, moet u eerst over een installatiekopie beschikken. Als u nog geen lokale containerinstallatiekopieën hebt, voert u de volgende docker pull-opdracht uit om een bestaande openbare installatiekopie op te halen. Voor dit voorbeeld haalt u de hello-world installatiekopie op uit Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Voordat u een installatiekopie naar het register kunt pushen, moet u deze taggen met de volledige gekwalificeerde naam van de registeraanmeldingsserver. De naam van de aanmeldingsserver heeft de indeling <registry-name.azurecr.io> (moet allemaal kleine letters zijn), bijvoorbeeld mycontainerregistry.azurecr.io.

Label de installatiekopie met de opdracht docker tag. Vervang <login-server> door de aanmeldingsnaam van het ACR-exemplaar.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Voorbeeld:

docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1

Gebruik ten slotte docker push om de installatiekopie naar het registerexemplaar te pushen. Vervang <login-server> door de aanmeldingsnaam van het registerexemplaar. In dit voorbeeld wordt de hello-world-opslagplaats met de hello-world:v1-installatiekopie gemaakt.

docker push <login-server>/hello-world:v1

Nadat u de installatiekopie naar uw containerregister hebt gepusht, verwijdert u de hello-world:v1-installatiekopie uit uw lokale Docker-omgeving. (U ziet dat met deze opdracht docker rmi de installatiekopie niet wordt verwijderd uit de hello-world-opslagplaats in uw Azure-containerregister.)

docker rmi <login-server>/hello-world:v1

Containerinstallatiekopieën opvragen

In het volgende voorbeeld worden de opslagplaatsen in uw register vermeld:

az acr repository list --name <registry-name> --output table

Uitvoer:

Result
----------------
hello-world

In het volgende voorbeeld worden de tags in de hello-world-opslagplaats vermeld.

az acr repository show-tags --name <registry-name> --repository hello-world --output table

Uitvoer:

Result
--------
v1

Installatiekopie vanuit register uitvoeren

U kunt nu de containerinstallatiekopie hello-world:v1 uit het containerregister ophalen en deze uitvoeren met behulp van docker run:

docker run <login-server>/hello-world:v1  

Voorbeelduitvoer:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Resources opschonen

U kunt de opdracht az group delete gebruiken om de resourcegroep, het containerregister en de daar opgeslagen containerinstallatiekopieën te verwijderen wanneer u ze niet meer nodig hebt.

az group delete --name myResourceGroup

Volgende stappen

In deze quickstart hebt u een Azure Container Registry gemaakt met de Azure-CLI. U hebt een containerinstallatiekopie naar het register gepusht en de installatiekopie uit het register opgehaald en uitgevoerd. Ga verder met de zelfstudies voor Azure Container Registry om meer te leren over ACR.