Delen via


Quickstart: Een Azure-containerregister maken met behulp van Azure Portal

Azure Container Registry is een privéregisterservice voor het bouwen, opslaan en beheren van containerinstallatiekopieën en gerelateerde artefacten. In deze snelle start maakt u een Azure Container Registry-exemplaar met de Azure portal. Gebruik vervolgens Docker-opdrachten om een container image naar de registry te pushen. Haal daarna de image op en voer deze uit vanuit uw registry.

Als u zich wilt aanmelden bij het register om met containerinstallatiekopieën te werken, moet u in deze quickstart de Azure CLI uitvoeren (versie 2.0.55 of hoger wordt aanbevolen). Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

U moet Docker ook lokaal hebben geïnstalleerd terwijl de daemon wordt uitgevoerd. Docker biedt pakketten die eenvoudig Docker configureren op elk Mac-, Windows- of Linux-systeem.

Aanmelden bij Azure

Meld u aan bij het Azure-portaal.

Een containerregister maken

Selecteer Een resource maken>Containers>Container Registry.

Navigeer naar het containerregister in de portal

Naam van containerregister en SKU configureren

Voer op het tabblad Basisbeginselen de waarden in voor Resourcegroep en Registernaam. De registernaam moet uniek zijn binnen Azure en moet 5-50 alfanumerieke tekens bevatten, waarbij streepjes (-) niet zijn toegestaan in de registernaam. Voor deze quickstart maakt u een nieuwe resourcegroep op de locatie met de West US 2 naam myResourceGroupen selecteert u voor Standard.

Containerregister maken in de portal

Zie Azure Container Registry-SKU's voor meer informatie over verschillende SKU-opties.

Optie Domain Name Label (DNL) configureren

De functie Domain Name Label (DNL) versterkt de beveiliging door overnameaanvallen van het subdomein van DNS-namen te voorkomen. Deze aanvallen treden op wanneer een register wordt verwijderd en een andere entiteit dezelfde registernaam opnieuw gebruikt, waardoor downstreamverwijzingen mogelijk worden opgehaald uit het register dat opnieuw is gemaakt door de andere entiteit.

DNL adresseert dit door een unieke hash toe te voegen aan de DNS-naam van het register. Dit zorgt ervoor dat zelfs als dezelfde registernaam opnieuw wordt gebruikt door een andere entiteit, de DNS-namen verschillen vanwege de unieke hash. Hierdoor worden uw downstreamverwijzingen beveiligd van onbedoelde verwijzingen naar het register dat opnieuw is gemaakt door de andere entiteit.

Wanneer u een register maakt vanuit de portal, selecteert u het bereik van het domeinnaamlabel in de beschikbare opties:

  • Onbeveiligd: maakt de DNS-naam as-is, op basis van de registernaam (bijvoorbeeld contosoacrregistry.azurecr.io). Deze optie omvat geen DNL-beveiliging.
  • Tenant hergebruik: voegt een unieke hash toe op basis van de tenant- en registernaam, zodat de DNS-naam uniek is binnen de tenant.
  • Abonnement opnieuw gebruiken: voegt een unieke hash toe op basis van het abonnement, de tenant en de registernaam, zodat de DNS-naam uniek is binnen het abonnement.
  • Resourcegroep opnieuw gebruiken: voegt een unieke hash toe op basis van de resourcegroep, het abonnement, de tenant en de registernaam, zodat de DNS-naam uniek is binnen de resourcegroep.
  • Geen hergebruik: genereert een unieke DNS-naam met een unieke hash telkens wanneer het register wordt gemaakt, ongeacht andere factoren, zodat de DNS-naam altijd uniek is.

Opmerking

Onveranderbare configuratie: het DNL-bereik dat is geselecteerd tijdens het maken van het register is permanent en kan later niet meer worden gewijzigd. Dit zorgt voor consistent DNS-gedrag en voorkomt onderbrekingen van downstreamverwijzingen.

De optie Domeinnaamlabel configureren

Gevolgen voor DNS-naam van DNL-opties

DNS-naamnotatie: Voor alle DNL-opties behalve Onbeveiligd, volgt de DNS-naam de indeling registryname-hash.azurecr.io, waarbij het streepje (-) fungeert als de hashdelineator. Om conflicten te voorkomen, is streepje (-) niet toegestaan in de registernaam. Een register met de contosoacrregistry naam Tenant Reuse DNL-bereik heeft bijvoorbeeld een DNS-naam zoals contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io.

Downstreamverwijzingen: De DNS-naam kan afwijken van de registernaam, waarbij updates in downstreambestanden zoals Dockerfiles, Kubernetes YAML en Helm-grafieken nodig zijn om de volledige DNS-naam met de DNL-hash weer te geven. Als u bijvoorbeeld wilt dat uw downstream Dockerfile naar een register met de contosoacrregistry naam Tenant Reuse DNL-bereik verwijst, moet u de verwijzing bijwerken naar contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io in uw downstream Dockerfile.

Schermopname van het controleren van de optie Domeinnaamlabel en DNS-naam.

De roltoewijzingsmodus configureren

Configureer de modus Roltoewijzingsmachtigingen van het nieuwe register. Met deze optie wordt bepaald hoe op rollen gebaseerd toegangsbeheer (RBAC) van Microsoft Entra en roltoewijzingen worden beheerd voor het register, waaronder het gebruik van op kenmerken gebaseerd toegangsbeheer (ABAC) van Microsoft Entra voor machtigingen voor Microsoft Entra-opslagplaatsen.

Kies RBAC Registry + ABAC Repository Permissions om standaard Microsoft Entra RBAC-roltoewijzingen te behouden, terwijl u optioneel Microsoft Entra ABAC-voorwaarden toepast voor gedetailleerd toegangsbeheer op opslagplaatsniveau.

Schermopname van het configureren van de roltoewijzingsmodus

Zie Microsoft Entra-toegangsbeheer (ABAC) voor opslagplaatsmachtigingen voor meer informatie over deze optie.

Het containerregister implementeren

Accepteer de standaardwaarden voor de overige instellingen. Selecteer vervolgens Reviewen en aanmaken. Nadat u de instellingen hebt bekeken, selecteert u Maken.

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).

Als het bericht Implementatie voltooid wordt weergegeven, selecteert u het containerregister in de portal.

Overzicht van containerregisters in de portal

Noteer de registernaam en de waarde van de aanmeldingsserver. Dit is een volledig gekwalificeerde naam die eindigt azurecr.io op de Azure-cloud. Als u een DNL-optie hebt geselecteerd, bevat de naam van de aanmeldingsserver een unieke hash.

Gebruik de inlogserver in de volgende stappen wanneer u afbeeldingen met Docker uploadt en downloadt, evenals in downstream-verwijzingen zoals Dockerfiles, Kubernetes YAML en Helm-grafieken.

Aanmelden bij register

Voordat u containerafbeeldingen kunt pushen en pullen, moet u zich aanmelden bij het register. Meld u aan bij Azure CLI op uw lokale computer en voer vervolgens de opdracht az acr login uit.

Geef alleen de naam van de registerresource op wanneer u zich aanmeldt met de Azure CLI, zoals az acr login -n registryname. Gebruik niet de volledig gekwalificeerde aanmeldingsservernaam, zoals registryname.azurecr.io of registryname-hash.azurecr.io (voor DNL-registers).

az acr login --name <registry-name>

Voorbeeld:

az acr login --name contosoacrregistry

De opdracht retourneert Login Succeeded nadat deze is voltooid.

Afbeelding uploaden naar register

Om een image naar een Azure Container Registry te 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 aanmeldingsnaam van het registerexemplaar. In dit voorbeeld wordt de hello-world-repository gemaakt, die de hello-world:v1-afbeelding bevat.

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

Containera​fbeeldingen weergeven

Als u de afbeeldingen in uw registry wilt weergeven, ga naar uw registry in de portal en selecteer Opslagplaatsen. Selecteer vervolgens de opslagplaats hello-world die u met docker push hebt gemaakt.

Lijst met containerinstallatiekopieën maken in de portal

Wanneer u de hello-world repository selecteert, ziet u de image met de tag v1 bij Tags.

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 uw resources wilt opschonen, navigeert u naar de resourcegroep myResourceGroup in de portal. Wanneer de resourcegroep is geladen, klikt u op Resourcegroep verwijderen om de resourcegroep, het containerregister en alle daarin opgeslagen containerinstallatiekopieën te verwijderen.

Een resourcegroep verwijderen in de portal

Volgende stappen

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