Självstudie – Skapa en Azure Container Registry (ACR) och skapa avbildningar

Azure Container Registry (ACR) är ett privat register för containeravbildningar. Med ett privat containerregister kan du på ett säkert sätt skapa och distribuera dina program och anpassad kod.

I den här handledningen distribuerar du ett ACR-exemplar och pushar en containerbild till det. Du lär dig att:

  • Skapa en ACR-instans.
  • Använd ACR Tasks för att skapa och skicka containeravbildningar till ACR.
  • Visa avbildningar i registret.

Innan du börjar

I den föregående självstudien klonade du källkodsförrådet och använde Docker för att skapa en containeravbildning för ett enkelt Azure Store Front-program. Om du inte skapade Azure Store Front-appavbildningen går du tillbaka till Tutorial 1 – Förbered ett program för AKS.

Den här handledningen kräver Azure CLI version 2.0.53 eller senare. Kör kommando az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Skapa en Azure Container Registry

Innan du skapar en ACR-instans behöver du en resursgrupp. En Azure resursgrupp är en logisk container där du distribuerar och hanterar Azure resurser.

  1. Skapa variabler för resursgruppens namn, plats och registernamn. Du kan använda dessa värden eller skapa egna. Registernamnvariabelns värde som lagras i ACRNAME måste vara unikt inom Azure och bestå av 5–50 alfanumeriska gemener.

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

    Värdet för registernamnvariabeln som lagras i ACRNAME måste vara unikt inom Azure och innehålla 5–50 alfanumeriska gemener. Värdet ACRNAME sammanfogas med variabeln RANDOM_STRING som lagrar en slumpmässig 10-siffrig sträng för att säkerställa att registernamnet är unikt. Variabeln RESOURCE_GROUP med värdet myResourceGroup för resursgruppen och LOCATION med värdet westus2. Du kan använda dessa värden eller skapa egna.

  2. Skapa en resursgrupp med kommandot az group create .

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  3. Skapa en ACR-instans med kommandot az acr create och ange ditt eget unika registernamn. Den grundläggande SKU:n är en kostnadsoptimerad startpunkt för utvecklingsändamål som ger en bra balans mellan lagring och dataflöde.

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

Skapa och ladda upp containeravbildningar till registret

Skapa och push-överför avbildningarna till din ACR med hjälp av kommandot Azure CLI az acr build. Kommandona az acr build använder bilder i den repository du klonade i föregående artikel för att förbereda en app för AKS. Kontrollera att du växlar till den katalogen build annars misslyckas kommandona. Om du till exempel skapade katalogen demorepo och klonade repositoryt är repositoryts rotmapp aks-store-demo så byt till mappen demorepo/aks-store-demo.

Det finns inte en motsvarande Azure PowerShell cmdlet som skapar eller push-överför containeravbildningar till registret. Du måste använda stegen för Azure CLI, men med variabeln ACRNAME inställd på det värde som du skapade i PowerShell. I PowerShell kan du hämta värdet med kommandot $ACRNAME.

I följande exempel skapar vi inte avbildningen product-service . Den här avbildningen kan ta lång tid att skapa och det finns redan en containeravbildning i GitHub Container Registry (GHCR). Du kan använda az acr import kommandot för att importera avbildningen från GHCR till din ACR-instans. Vi skapar inte heller avbildningen rabbitmq . Den här avbildningen är tillgänglig från den Docker Hub offentliga lagringsplatsen och behöver inte skapas eller push-överföras till din ACR-instans.

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/

Lista avbildningar i registret

Visa bilderna i din ACR-instans med hjälp av az acr repository list kommandot .

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

I följande exempelutdata visas tillgängliga avbildningar i registret:

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

Nästa steg

I den här självstudien har du skapat en ACR och pushat avbildningar till den för att använda i ett AKS-kluster. Du har lärt dig att:

  • Skapa en ACR-instans.
  • Använd ACR Tasks för att skapa och skicka containeravbildningar till ACR.
  • Visa avbildningar i registret.

I nästa självstudie får du lära dig hur du distribuerar ett Kubernetes-kluster i Azure.