Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
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.
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.
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.
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.
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.
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
UnsecureDNL-optie ismycontainerregistry.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
Containerafbeeldingen 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.
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.
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.