Handleiding: Een Azure Container Registry (ACR) maken en images bouwen

Azure Container Registry (ACR) is een privéregister voor containerafbeeldingen. Met een privécontainerregister kunt u uw toepassingen en aangepaste code veilig bouwen en implementeren.

In deze handleiding implementeert u een ACR-instantie en uploadt u er een containerimage naartoe. U leert het volgende:

  • Maak een ACR-exemplaar.
  • Gebruik ACR Tasks om containerafbeeldingen te bouwen en naar ACR te uploaden.
  • Afbeeldingen in uw register weergeven.

Voordat u begint

In de vorige zelfstudie hebt u de opslagplaats voor de toepassingscode gekloond en Docker gebruikt om een containerimage te maken voor een eenvoudige toepassing van Azure Store Front. Als u de installatiekopieën van de Azure Store Front-app niet hebt gemaakt, gaat u terug naar Tutorial 1- Een toepassing voorbereiden voor AKS.

Voor deze zelfstudie is Azure CLI versie 2.0.53 of hoger vereist. Voer de az --version opdracht uit om de versie te vinden. Zie Install Azure CLI als u de Azure CLI wilt installeren of upgraden.

Een Azure Container Registry maken

Voordat u een ACR-exemplaar maakt, hebt u een resourcegroep nodig. Een Azure-resourcegroep is een logische container waarin u Azure resources implementeert en beheert.

  1. Maak variabelen voor de naam, locatie en registernaam van de resourcegroep. U kunt deze waarden gebruiken of uw eigen waarden maken. De waarde van de registernaamvariabele die is opgeslagen in ACRNAME moet uniek zijn binnen Azure en moet 5-50 alfanumerieke tekens bevatten.

    export RESOURCE_GROUP=myResourceGroup
    export LOCATION=westus2
    export RANDOM_STRING=$(printf '%05d%05d' "$RANDOM" "$RANDOM")
    export ACRNAME="myregistry${RANDOM_STRING}"
    

    De waarde van de registernaamvariabele die is opgeslagen in ACRNAME moet uniek zijn binnen Azure en moet 5-50 alfanumerieke tekens bevatten. De ACRNAME waarde wordt samengevoegd met de RANDOM_STRING variabele waarin een willekeurige tekenreeks van 10 cijfers wordt opgeslagen om ervoor te zorgen dat de registernaam uniek is. De variabele RESOURCE_GROUP met de waarde myResourceGroup voor de resourcegroep en LOCATION met de waarde westus2. U kunt deze waarden gebruiken of uw eigen waarden maken.

  2. Maak een resourcegroep met behulp van de az group create opdracht.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  3. Maak een ACR-exemplaar met behulp van de az acr create opdracht en geef uw eigen unieke registernaam op. De SKU Basic is een toegangspunt voor ontwikkelingsdoeleinden dat is geoptimaliseerd voor kosten, met een balans tussen opslag en doorvoer.

    az acr create \
      --resource-group $RESOURCE_GROUP \
      --location $LOCATION \
      --name $ACRNAME \
      --sku Basic
    

Container-images bouwen en pushen naar de registry

Bouw en push de images naar uw ACR met behulp van de Azure CLI Opdracht az acr build. De az acr build opdrachten gebruiken images in de repository die je in het vorige artikel hebt gekloond, om een app voor AKS voor te bereiden. Zorg ervoor dat u overschakelt naar die map, anders zullen de build opdrachten mislukken. Als u bijvoorbeeld mapdemorepo hebt gemaakt en de opslagplaats hebt gekloond, is de hoofdmap van de opslagplaats aks-store-demo, dus schakel over naar de map demorepo/aks-store-demo .

Er is geen Azure PowerShell-cmdlet die containerafbeeldingen aanmaakt of naar de registratie pusht. U moet de stappen voor Azure CLI gebruiken, maar met de variabele ACRNAME ingesteld op de waarde die u hebt gemaakt in PowerShell. In PowerShell kunt u de waarde ophalen met de opdracht $ACRNAME.

In het volgende voorbeeld bouwen we de product-service image niet. Het bouwen van deze afbeelding kan lang duren, maar er is al een containerafbeelding beschikbaar in de GitHub Container Registry (GHCR). U kunt het az acr import commando gebruiken om de afbeelding van de GHCR naar uw ACR-exemplaar te importeren. We bouwen de rabbitmq image ook niet. Deze afbeelding is beschikbaar vanuit de Docker Hub publieke repository en hoeft niet te worden gebouwd of gepusht naar uw ACR-exemplaar.

az acr import \
  --name $ACRNAME \
  --source ghcr.io/azure-samples/aks-store-demo/product-service:latest \
  --image aks-store-demo/product-service:latest

az acr build \
  --registry $ACRNAME \
  --image aks-store-demo/order-service:latest ./src/order-service/

az acr build \
  --registry $ACRNAME \
  --image aks-store-demo/store-front:latest ./src/store-front/

Afbeeldingen in het register weergeven

Bekijk de afbeeldingen in uw ACR-exemplaar met behulp van de az acr repository list opdracht.

az acr repository list --name $ACRNAME --output table

In de volgende voorbeelduitvoer worden de beschikbare images in uw register weergegeven:

Result
----------------
aks-store-demo/product-service
aks-store-demo/order-service
aks-store-demo/store-front

Volgende stappen

In deze zelfstudie hebt u een ACR gemaakt en er afbeeldingen naar gepusht voor gebruik in een AKS-cluster. U hebt geleerd hoe u:

  • Maak een ACR-exemplaar.
  • Gebruik ACR Tasks om containerafbeeldingen te bouwen en naar ACR te uploaden.
  • Afbeeldingen in uw register weergeven.

In de volgende zelfstudie leert u hoe u een Kubernetes-cluster implementeert in Azure.