Samouczek — tworzenie Azure Container Registry (ACR) i tworzenie obrazów

Azure Container Registry (ACR) to prywatny rejestr obrazów kontenerów. Prywatny rejestr kontenerów umożliwia bezpieczne kompilowanie i wdrażanie aplikacji oraz kodu niestandardowego.

W tym samouczku wdrożysz wystąpienie usługi ACR i prześlesz do niej obraz kontenera. Nauczysz się, jak:

  • Utwórz wystąpienie ACR.
  • Użyj ACR Tasks do kompilowania i wypychania obrazów kontenerów do ACR.
  • Wyświetl obrazy w rejestrze.

Zanim rozpoczniesz

W poprzednim tutorialu sklonowałeś repozytorium kodu aplikacji i użyłeś platformy Docker do utworzenia obrazu kontenera dla prostej aplikacji Azure Store Front. Jeśli nie utworzyłeś obrazu aplikacji Azure Store Front, wróć do Tutorial 1 — Przygotuj aplikację dla usługi AKS.

Ten samouczek wymaga Azure CLI w wersji 2.0.53 lub nowszej. Aby znaleźć wersję, uruchom az --version polecenie . Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI.

Utwórz Azure Container Registry

Aby utworzyć wystąpienie usługi ACR, potrzebna jest grupa zasobów. Grupa zasobów Azure jest kontenerem logicznym, w którym wdrażasz zasoby Azure i zarządzasz nimi.

  1. Utwórz zmienne dla nazwy grupy zasobów, lokalizacji i nazwy rejestru. Możesz użyć tych wartości lub utworzyć własne. Wartość zmiennej nazwy rejestru przechowywana w ACRNAME musi być unikatowa w Azure i zawierać małe litery 5–50 znaków alfanumerycznych.

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

    Wartość zmiennej nazwy rejestru przechowywana w ACRNAME musi być unikatowa w Azure i zawierać małe litery 5–50 znaków alfanumerycznych. Wartość ACRNAME jest połączona ze RANDOM_STRING zmienną, która przechowuje losowy 10-cyfrowy ciąg, aby upewnić się, że nazwa rejestru jest unikatowa. Zmienna RESOURCE_GROUP z wartością myResourceGroup dla grupy zasobów i LOCATION wartością westus2. Możesz użyć tych wartości lub utworzyć własne.

  2. Utwórz grupę zasobów przy użyciu az group create polecenia .

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  3. Utwórz wystąpienie usługi ACR przy użyciu az acr create polecenia i podaj własną unikatową nazwę rejestru. Podstawowa jednostka SKU to zoptymalizowany pod kątem kosztów punkt wejścia do celów programistycznych zapewniający równowagę między przestrzenią dyskową i przepływnością.

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

Kompilowanie i wypychanie obrazów kontenerów do rejestru

Skompiluj i wypchnij obrazy do usługi ACR przy użyciu polecenia Azure CLI az acr build. Polecenia az acr build używają obrazów z repozytorium sklonowanego w poprzednim artykule przygotowanie aplikacji dla AKS. Upewnij się, że przejdziesz do tego katalogu, w przeciwnym razie polecenia build kończą się niepowodzeniem. Jeśli na przykład utworzyłeś katalog demorepo i sklonowałeś repozytorium, to katalogiem głównym repozytorium jest aks-store-demo, więc przejdź do katalogu demorepo/aks-store-demo.

Nie ma równoważnego polecenia cmdlet Azure PowerShell, które kompiluje lub wypycha obrazy kontenerów do rejestru. Należy użyć kroków dla Azure CLI, ale ze zmienną ACRNAME ustawioną na wartość utworzoną w programie PowerShell. W programie PowerShell możesz uzyskać wartość za pomocą polecenia $ACRNAME.

W poniższym przykładzie nie kompilujemy product-service obrazu. Tworzenie tego obrazu może zająć dużo czasu, a w usłudze GitHub Container Registry (GHCR) jest już dostępny obraz kontenera. Możesz użyć polecenia az acr import, aby zaimportować obraz z GHCR do instancji ACR. Nie budujemy też rabbitmq obrazu. Ten obraz jest dostępny w repozytorium publicznym Docker Hub i nie musi być kompilowany ani wypychany do wystąpienia usługi ACR.

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/

Wyświetl obrazy w rejestrze

Wyświetl obrazy w swoim wystąpieniu ACR przy użyciu polecenia az acr repository list.

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

Następujące przykładowe dane wyjściowe zawierają listę dostępnych obrazów w rejestrze:

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

Następne kroki

W tym samouczku utworzono usługę ACR i wypchnięliśmy do niej obrazy do użycia w klastrze usługi AKS. Nauczyłeś/Nauczyłaś się, jak:

  • Utwórz wystąpienie ACR.
  • Użyj ACR Tasks do kompilowania i wypychania obrazów kontenerów do ACR.
  • Wyświetl obrazy w rejestrze.

W następnym samouczku dowiesz się, jak wdrożyć klaster Kubernetes w Azure.