Delen via


Quickstart: Een privécontainerregister maken met behulp van 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 behulp van Azure PowerShell lokaal. Vervolgens haalt u met behulp van de Docker CLI een hallo-wereld-containerinstallatiekopie op, tagt u de hallo-wereldcontainerinstallatiekopie om een nieuwe containerinstallatiekopie te maken, pusht u de nieuwe containerinstallatiekopie naar het containerregister, verwijdert u de lokale containerinstallatiekopie en haalt u de installatiekopie ten slotte op uit het register en voert u de installatiekopie uit het register uit.

Vereisten

Notitie

Het wordt aanbevolen 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

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 gemaakt met de naam 'mycontainerregistry'. Vervang mycontainerregistry in de volgende opdracht en voer deze uit om het register te maken:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS

Aanbeveling

In deze quickstart maakt u een standaardregister . Dit is voldoende voor de meeste Azure Container Registry-werkstromen. Kies andere lagen voor meer opslag- en afbeeldingsdoorvoer en mogelijkheden, zoals verbinding met een privé-eindpunt. Zie Servicelagen voor containerregister voor meer informatie over de beschikbare servicelagen (SKU's).

Aanmelden bij register

Voordat u containerafbeeldingen opslaat en ophaalt, moet u zich aanmelden bij uw register met de Connect-AzContainerRegistry cmdlet. In het volgende voorbeeld worden dezelfde referenties gebruikt als waarmee u zich hebt aangemeld bij Azure-authenticatie 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.

Afbeelding uploaden naar register

Als u een image naar een Azure Container Registry wilt pushen, moet u eerst een image hebben. 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 containerafbeelding op uit Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Voordat u een image naar uw register kunt pushen, moet u deze taggen met de docker tag met de volledig gekwalificeerde naam van uw inlogserver van het register.

  • De indeling van de aanmeldingsservernaam voor DNL-beveiligde registers (Domain Name Label), met daarin een unieke DNS-naam-hash, is mycontainerregistry-abc123.azurecr.io.
  • De indeling van de aanmeldingsservernaam voor registers die zijn gemaakt met de Unsecure DNL-optie is mycontainerregistry.azurecr.io.

Als uw register bijvoorbeeld is gemaakt met het Tenant Reuse DNL-bereik, kan de aanmeldingsserver eruitzien mycontainerregistry-abc123.azurecr.io met een hash in de DNS-naam. Als uw register is gemaakt met de Unsecure DNL-optie, ziet de aanmeldingsserver eruit als mycontainerregistry.azurecr.io zonder de hash.

Zie Quickstart - Register maken in portal voor meer informatie over DNL-opties tijdens het maken van het register en de gevolgen voor DNS-namen.

Voorbeeld: Een afbeelding taggen voordat deze wordt gepusht

Tag de afbeelding met behulp van de docker tag-opdracht via de login server van uw register.

Label afbeelding voor een niet-DNL-registratie:

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

Het taggen van een afbeelding voor een register met DNL-functionaliteit.

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

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

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. (Houd er rekening mee dat deze docker rmi-opdracht de image niet verwijdert 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.

[...]

Middelen opschonen

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

Remove-AzResourceGroup -Name myResourceGroup

Volgende stappen

In deze quickstart hebt u een Azure Container Registry-exemplaar gemaakt met behulp van de Azure PowerShell, een hello-world containerimage opgehaald, de hello-world-image getagd om een nieuwe containerimage te maken, de nieuwe containerimage naar de container registry gepusht, de lokale containerimage verwijderd en ten slotte de image uit uw registry opgehaald en uitgevoerd. Ga verder met de zelfstudies voor Azure Container Registry om meer te leren over ACR.