Samouczek: tworzenie rejestru kontenerów platformy Azure i wypychanie obrazu kontenera
Ten artykuł jest drugą częścią trzyczęściowego samouczka. W części pierwszej samouczka utworzono obraz kontenera Docker dla aplikacji internetowej środowiska Node.js. W tym samouczku obraz zostanie wypchnięty do usługi Azure Container Registry. Jeśli musisz utworzyć obraz kontenera, wróć do artykułu Samouczek 1 — tworzenie obrazu kontenera.
Usługa Azure Container Registry jest prywatnym rejestrem platformy Docker na platformie Azure. W tym samouczku, w drugiej części serii, wykonasz następujące elementy:
- Tworzenie wystąpienia usługi Azure Container Registry za pomocą interfejsu wiersza polecenia platformy Azure
- Otagowanie obrazu kontenera na potrzeby usługi Azure Container Registry
- Przekazanie obrazu do rejestru
W następnym artykule, czyli ostatnim z tej serii, będzie miało miejsce wdrożenie kontenera z poziomu rejestru prywatnego do usługi Azure Container Instances.
Zanim rozpoczniesz
Aby ukończyć ten samouczek, musisz spełniać następujące wymagania:
Interfejs wiersza polecenia platformy Azure: musisz mieć interfejs wiersza polecenia platformy Azure w wersji 2.0.29 lub nowszej zainstalowany na komputerze lokalnym. Aby dowiedzieć się, jaka wersja jest używana, uruchom polecenie az --version
. Jeśli konieczna będzie instalacja lub uaktualnienie interfejsu, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Docker: ten samouczek zakłada, że masz podstawową wiedzę na temat najważniejszych pojęć usługi Docker, takich jak kontenery, obrazy kontenera i podstawowe polecenia docker
. Aby uzyskać podstawowe informacje na temat platformy Docker i kontenerów, zapoznaj się z artykułem Docker overview (Przegląd platformy Docker).
Docker: aby ukończyć ten samouczek, musisz zainstalować platformę Docker lokalnie. Platforma Docker udostępnia pakiety, które konfigurują środowisko platformy Docker w systemach macOS, Windows i Linux.
Ważne
Ponieważ usługa Azure Cloud Shell nie zawiera demona platformy Docker, w celu ukończenia tego samouczka musisz zainstalować na swoim komputerze lokalnym wiersz polecenia platformy Azure i aparat platformy Docker. W tym samouczku nie możesz korzystać z usługi Azure Cloud Shell.
Tworzenie rejestru kontenerów platformy Azure
Przed utworzeniem rejestru kontenerów należy zapewnić grupę zasobów, w której zostanie wdrożony. Grupa zasobów to kolekcja logiczna przeznaczona do wdrażania wszystkich zasobów platformy Azure i zarządzania nimi.
Utwórz grupę zasobów za pomocą polecenia az group create. W poniższym przykładzie grupa zasobów o nazwie myResourceGroup zostanie utworzona w regionie eastus:
az group create --name myResourceGroup --location eastus
Po utworzeniu grupy zasobów utwórz rejestr kontenerów platformy Azure za pomocą polecenia az acr create . Nazwa rejestru kontenerów musi być unikatowa w obrębie platformy Azure i może zawierać od 5 do 50 znaków alfanumerycznych. Zamień wartość <acrName>
na unikatową nazwę rejestru:
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
Oto częściowe dane wyjściowe dla nowego rejestru kontenerów platformy Azure o nazwie mycontainerregistry082:
{
"creationDate": "2020-07-16T21:54:47.297875+00:00",
"id": "/subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry082",
"location": "eastus",
"loginServer": "mycontainerregistry082.azurecr.io",
"name": "mycontainerregistry082",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
Dalsza część tego samouczka odnosi się do wartości <acrName>
jako symbolu zastępczego dla nazwy rejestru kontenerów, która została wybrana w tym kroku.
Logowanie do rejestru kontenerów
Przed wypchnięciem obrazów do wystąpienia usługi Azure Container Registry musisz się zalogować. Aby wykonać tę operację, użyj polecenia az acr login. Należy wprowadzić unikatową nazwę wybraną dla rejestru kontenerów podczas jego tworzenia.
az acr login --name <acrName>
Na przykład:
az acr login --name mycontainerregistry082
Po ukończeniu polecenie zwraca ciąg Login Succeeded
:
Login Succeeded
Tagowanie obrazu kontenera
Aby wypchnąć obraz kontenera do prywatnego rejestru, takiego jak usługa Azure Container Registry, najpierw musisz otagować obraz pełną nazwą serwera logowania rejestru.
Najpierw pobierz pełną nazwę serwera logowania dla rejestru kontenerów platformy Azure. Uruchom następujące polecenie az acr show i zastąp <acrName>
ciąg nazwą utworzonego rejestru:
az acr show --name <acrName> --query loginServer --output table
Przykładowo jeśli rejestr ma nazwę mycontainerregistry082:
az acr show --name mycontainerregistry082 --query loginServer --output table
Result
------------------------
mycontainerregistry082.azurecr.io
Teraz wyświetl listę obrazów lokalnych przy użyciu polecenia docker images:
docker images
Wraz z innymi obrazami na maszynie powinien zostać wyświetlony obraz aci-tutorial-app, który został utworzony w poprzednim samouczku:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
Otaguj obraz aplikacji aci-tutorial-app przy użyciu serwera logowania rejestru kontenerów. Ponadto dodaj tag :v1
na końcu nazwy obrazu, aby wskazać numer wersji obrazu. Zastąp wartość <acrLoginServer>
wynikiem polecenia az acr show, które zostało wykonane wcześniej.
docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1
Uruchom polecenie docker images
ponownie, aby zweryfikować operację tagowania:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app v1 5c745774dfa9 7 minutes ago 68.1 MB
Wypychanie obrazu do usługi Azure Container Registry
Teraz, gdy otagowano obraz aplikacji aci-tutorial-app z pełną nazwą serwera logowania rejestru prywatnego, możesz wypchnąć obraz do rejestru za pomocą polecenia docker push . Zastąp wartość <acrLoginServer>
pełną nazwa serwera logowania uzyskaną we wcześniejszym kroku.
docker push <acrLoginServer>/aci-tutorial-app:v1
Operacja push
powinna potrwać kilka sekund do kilku minut w zależności od połączenia internetowego, a dane wyjściowe są podobne do następującego przykładu:
docker push mycontainerregistry082.azurecr.io/aci-tutorial-app:v1
The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576
Wyświetlanie listy obrazów w usłudze Azure Container Registry
Aby sprawdzić, czy właśnie wypchnięty obraz rzeczywiście znalazł się w rejestrze kontenerów platformy Azure, wyświetl listę obrazów w rejestrze, korzystając z polecenia az acr repository list. Zastąp wartość <acrName>
nazwą rejestru kontenerów.
az acr repository list --name <acrName> --output table
Na przykład:
az acr repository list --name mycontainerregistry082 --output table
Result
----------------
aci-tutorial-app
Aby wyświetlić tagi dla określonego obrazu, użyj polecenia az acr repository show-tags.
az acr repository show-tags --name <acrName> --repository aci-tutorial-app --output table
Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:
--------
v1
Następne kroki
W tym samouczku przygotowano rejestr kontenerów platformy Azure do używania z usługą Azure Container Instances oraz wypchnięto obraz kontenera do rejestru. Wykonano następujące czynności:
- Utworzono wystąpienie usługi Azure Container Registry za pomocą interfejsu wiersza polecenia platformy Azure
- Tagowanie obrazu kontenera na potrzeby usługi Azure Container Registry
- Przekazywanie obrazu do usługi Azure Container Registry
Przejdź do kolejnego samouczka, aby uzyskać więcej informacji o sposobie wdrażania kontenera za pomocą usługi Azure Container Instances: