Samouczek: wdrażanie i używanie Azure Container Registry (ACR)

Usługa Azure Container Registry (ACR) to prywatny rejestr obrazów kontenera. Prywatny rejestr kontenerów umożliwia bezpieczne kompilowanie i wdrażanie aplikacji oraz kodu niestandardowego. W tym samouczku (część druga z siedmiu) wdrożysz wystąpienie usługi ACR i wypchniesz do niego obraz kontenera. Omawiane kwestie:

  • Tworzenie wystąpienia usługi ACR
  • Tagowanie obrazu kontenera na potrzeby usługi ACR
  • Przekazywanie obrazu do usługi ACR
  • Wyświetlanie obrazów w rejestrze

W kolejnych samouczkach integrujesz wystąpienie usługi ACR z klastrem Kubernetes w usłudze AKS i wdrażasz aplikację z obrazu.

Zanim rozpoczniesz

W poprzednim samouczku utworzono obraz kontenera dla prostej aplikacji do głosowania platformy Azure. Jeśli nie utworzono obrazu aplikacji Azure Voting, wróć do artykułu Samouczek 1: Przygotowywanie aplikacji dla usługi AKS.

Ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.53 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Tworzenie rejestru Azure Container Registry

Przed utworzeniem usługi ACR potrzebna jest grupa zasobów. Grupa zasobów platformy Azure to logiczny kontener, w którym wdrażasz zasoby platformy Azure i zarządzasz nimi.

  1. Utwórz grupę zasobów za pomocą polecenia az group create.
az group create --name myResourceGroup --location eastus
  1. Utwórz wystąpienie usługi ACR za az acr create pomocą polecenia i podaj własną unikatową nazwę rejestru. Nazwa rejestru musi być unikatowa w obrębie platformy Azure i może zawierać od 5 do 50 znaków alfanumerycznych. W dalszej części tego samouczka wartość <acrName> zostanie użyta jako symbol zastępczy nazwy rejestru kontenerów. 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 myResourceGroup --name <acrName> --sku Basic

Logowanie do rejestru kontenerów

Zaloguj się do usługi ACR przy użyciu az acr login polecenia i podaj unikatową nazwę nadaną rejestrowi kontenerów w poprzednim kroku.

az acr login --name <acrName>

Polecenie zwraca komunikat Login Succeeded po zakończeniu.

Tagowanie obrazu kontenera

Aby wyświetlić listę bieżących obrazów lokalnych, użyj docker images polecenia .

docker images

Poniższe przykładowe dane wyjściowe przedstawiają listę bieżących lokalnych obrazów platformy Docker:

REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front   v1                  84b41c268ad9        7 minutes ago       944MB
mcr.microsoft.com/oss/bitnami/redis            6.0.8               3a54a920bb6c        2 days ago          103MB

Aby użyć obrazu kontenera azure-vote-front z usługą ACR, musisz oznaczyć obraz adresem serwera logowania rejestru. Tag jest używany do routingu podczas wypychania obrazów kontenerów do rejestru obrazów.

Aby uzyskać adres serwera logowania, użyj az acr list polecenia i wykonaj zapytanie dotyczące serwera loginServer.

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Następnie oznacz lokalny obraz azure-vote-front adresem acrLoginServer rejestru kontenerów. Aby wskazać wersję obrazu, dodaj wartość :v1 na końcu nazwy obrazu:

docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v1

Aby sprawdzić, czy tagi są stosowane, uruchom ponownie.docker images

docker images

W poniższych przykładowych danych wyjściowych przedstawiono obraz oznaczony adresem wystąpienia usługi ACR i numerem wersji:

REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front    v1                  84b41c268ad9        16 minutes ago      944MB
mycontainerregistry.azurecr.io/azure-vote-front v1                  84b41c268ad9        16 minutes ago      944MB
mcr.microsoft.com/oss/bitnami/redis             6.0.8               3a54a920bb6c        2 days ago          103MB

Wypychanie obrazów do rejestru

Wypchnij obraz azure-vote-front do wystąpienia usługi ACR przy użyciu docker push polecenia . Upewnij się, że podaj własny adres acrLoginServer dla nazwy obrazu.

docker push <acrLoginServer>/azure-vote-front:v1

Wypchnięcie obrazu do usługi ACR może potrwać kilka minut.

Wyświetlanie listy obrazów w rejestrze

Aby zwrócić listę obrazów wypchniętych do wystąpienia usługi ACR, użyj az acr repository list polecenia , podając własne <acrName>polecenie .

az acr repository list --name <acrName> --output table

Poniższe przykładowe dane wyjściowe wyświetlają obraz azure-vote-front jako dostępny w rejestrze:

Result
----------------
azure-vote-front

Aby wyświetlić tagi dla określonego obrazu, użyj az acr repository show-tags polecenia .

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

Poniższe przykładowe dane wyjściowe przedstawiają obraz v1 otagowany w poprzednim kroku:

Result
--------
v1

Następne kroki

W tym samouczku utworzono usługę ACR i wypchnięliśmy obraz do użycia w klastrze usługi AKS. W tym samouczku omówiono:

  • Tworzenie wystąpienia usługi ACR
  • Tagowanie obrazu kontenera na potrzeby usługi ACR
  • Przekazywanie obrazu do usługi ACR
  • Wyświetlanie obrazów w rejestrze

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