Quickstart: Een privé-containerregister maken met Azure PowerShell

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 Azure PowerShell. Gebruik vervolgens Docker-opdrachten om een containerinstallatiekopie naar het register pushen, waarna u de installatiekopie ophaalt en uitvoert vanuit het register.

Vereisten

Notitie

U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Voor deze quickstart is de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az uit om uw geïnstalleerde versie te bepalen. Als u PowerShell wilt installeren of upgraden, raadpleegt u De Azure PowerShell-module installeren.

Docker moet ook lokaal zijn geïnstalleerd. Docker biedt pakketten voor macOS-, Windows- en Linux-systemen.

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

Aanmelden bij Azure

Meld u aan bij uw Azure-abonnement met behulp van de opdracht Connect-AzAccount en volg de instructies op het scherm.

Connect-AzAccount

Een resourcegroep maken

Zodra u bent geverifieerd bij Azure, maakt u een resourcegroep met New-AzResourceGroup. Een resourcegroep is een logische container waarin u uw Azure-resources implementeert en beheert.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Containerregister maken

Maak vervolgens een containerregister in uw nieuwe resourcegroep met de opdracht New-AzContainerRegistry.

De registernaam moet uniek zijn binnen Azure en mag 5 tot 50 alfanumerieke tekens bevatten. In het volgende voorbeeld wordt een register met de naam 'mycontainerregistry' gemaakt. Vervang mycontainerregistry in de volgende opdracht en voer deze uit om het register te maken:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Basic

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 containerinstallatiekopieën pusht en ophaalt, moet u zich aanmelden bij uw register met de cmdlet Connect-AzContainerRegistry . In het volgende voorbeeld worden dezelfde referenties gebruikt waarmee u zich hebt aangemeld bij het verifiëren bij Azure met de Connect-AzAccount cmdlet.

Notitie

In het volgende voorbeeld is de waarde van $registry.Name de resourcenaam, niet de volledig gekwalificeerde registernaam.

Connect-AzContainerRegistry -Name $registry.Name

De opdracht retourneert Login Succeeded 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

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

Als u klaar bent met de resources die u hebt gemaakt in deze quickstart, gebruikt u de opdracht Remove-AzResourceGroup om de resourcegroep, het containerregister en de daarin opgeslagen containerinstallatiekopieën te verwijderen:

Remove-AzResourceGroup -Name myResourceGroup

Volgende stappen

In deze quickstart hebt u een Azure Container Registry gemaakt met Azure PowerShell. U hebt een containerinstallatiekopie 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.