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. Voor meer opslag- en afbeeldingsdoorvoer en mogelijkheden zoals verbinding met een privé-eindpunt, is de Premium prijsoptie (SKU) beschikbaar. Zie azure Container Registry SKU-functies en -limieten voor meer informatie over 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 afbeelding naar uw register kunt pushen, moet u deze taggen met behulp van de docker tag met de volledig gekwalificeerde naam van uw inlogserverregister.

  • De indeling van de aanmeldingsservernaam voor DNL-beveiligde registers (Domain Name Label) waarbij een unieke DNS-naam-hash is opgenomen, 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 u bijvoorbeeld een register maakt met het Tenant Reuse DNL-bereik, kan de aanmeldingsserver eruitzien mycontainerregistry-abc123.azurecr.io met een hash in de DNS-naam. Als u een register maakt met de Unsecure DNL-optie, ziet de aanmeldingsserver er als volgt uit mycontainerregistry.azurecr.io, zonder de hash.

Tag een afbeelding met behulp van het docker tag commando met de loginserver van uw containerregister. Voor deze quickstart tagt u de hello-world afbeelding met v1.

Voorbeeldopdracht voor het taggen van een image voor een met DNL beveiligde registry:

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

Voorbeeldopdracht voor het taggen van een image voor een niet-DNL registry:

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 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 afbeelding naar uw containerregister hebt gepusht, verwijdert u de hello-world:v1 afbeelding uit uw lokale Docker-omgeving met behulp van de docker rmi-opdracht. Met dit commando wordt de installatiekopie niet verwijderd uit de repository hello-world 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.