Szybki start: tworzenie prywatnego rejestru kontenerów przy użyciu Azure PowerShell

Azure Container Registry to prywatna usługa rejestru służąca do tworzenia, przechowywania obrazów kontenerów i powiązanych artefaktów oraz zarządzania nimi. W tym przewodniku Szybki start utworzysz wystąpienie usługi Azure Container Registry z Azure PowerShell. Następnie za pomocą poleceń platformy Docker wypchniesz obraz kontenera do rejestru, a na koniec ściągniesz i uruchomisz obraz z rejestru.

Wymagania wstępne

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Dla tego przewodnika Szybki start jest wymagany moduł Azure PowerShell. Uruchom polecenie Get-Module -ListAvailable Az, aby sprawdzić zainstalowaną wersję. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie modułu Azure PowerShell.

Musisz mieć również zainstalowane lokalnie środowisko Docker. Platforma Docker zawiera pakiety dla systemów macOS, Windows i Linux.

Ze względu na to, że usługa Azure Cloud Shell nie zawiera wszystkich wymaganych składników platformy Docker (demon dockerd), nie można używać usługi Cloud Shell na potrzeby tego przewodnika Szybki start.

Logowanie do platformy Azure

Zaloguj się do subskrypcji platformy Azure za pomocą polecenia Connect-AzAccount i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

Connect-AzAccount

Tworzenie grupy zasobów

Po zakończeniu uwierzytelniania na platformie Azure utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup. Grupa zasobów to logiczny kontener, w którym wdrażasz zasoby platformy Azure i zarządzasz nimi.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Tworzenie rejestru kontenerów

Następnie utwórz rejestr kontenerów w nowej grupie zasobów przy użyciu polecenia New-AzContainerRegistry.

Nazwa rejestru musi być unikatowa w obrębie platformy Azure i może zawierać od 5 do 50 znaków alfanumerycznych. Poniższy przykład tworzy rejestr o nazwie "mycontainerregistry". Zastąp ciąg mycontainerregistry w następującym poleceniu, a następnie uruchom go, aby utworzyć rejestr:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Basic

Porada

W tym przewodniku Szybki start utworzysz rejestr podstawowy, który jest opcją zoptymalizowaną pod kątem kosztów dla deweloperów uczących się Azure Container Registry. Wybierz inne warstwy dla zwiększonej przepływności magazynu i obrazu oraz możliwości, takie jak połączenie przy użyciu prywatnego punktu końcowego. Aby uzyskać szczegółowe informacje na temat dostępnych warstw usług (SKU), zobacz Warstwy usług rejestru kontenerów.

Logowanie do rejestru

Przed wypychaniem i ściąganiem obrazów kontenerów należy zalogować się do rejestru za pomocą polecenia cmdlet Connect-AzContainerRegistry . W poniższym przykładzie użyto tych samych poświadczeń, które zalogowano podczas uwierzytelniania na platformie Azure za pomocą Connect-AzAccount polecenia cmdlet .

Uwaga

W poniższym przykładzie wartość $registry.Name to nazwa zasobu, a nie w pełni kwalifikowana nazwa rejestru.

Connect-AzContainerRegistry -Name $registry.Name

Po ukończeniu polecenie zwraca ciąg Login Succeeded.

Wypychanie obrazu do rejestru

Aby wypchnąć obraz do usługi Azure Container Registry, najpierw musisz go mieć. Jeśli nie masz jeszcze żadnych lokalnych obrazów kontenerów, uruchom następujące polecenie ściągnięcia platformy Docker , aby ściągnąć istniejący publiczny obraz. W tym przykładzie hello-world pobierz obraz z usługi Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Przed wypchnięciem obrazu do rejestru należy oznaczyć go w pełni kwalifikowaną nazwą serwera logowania rejestru. Nazwa serwera logowania jest w formacie <registry-name.azurecr.io> (musi mieć wszystkie małe litery), na przykład mycontainerregistry.azurecr.io.

Aby dodać tag do obrazu, użyj polecenia docker tag. Zastąp element <login-server> nazwą serwera logowania wystąpienia usługi ACR.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Przykład:

docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1

Na koniec użyj polecenia docker push, aby wypchnąć obraz do wystąpienia rejestru. Zastąp <login-server> ciąg nazwą serwera logowania wystąpienia rejestru. W tym przykładzie jest tworzone repozytorium hello-world zawierające obraz hello-world:v1.

docker push <login-server>/hello-world:v1

Po wypchnięciu obrazu do rejestru kontenerów usuń obraz hello-world:v1 ze środowiska lokalnego platformy Docker. (Zwróć uwagę, że to polecenie docker rmi nie powoduje usunięcia obrazu z repozytorium hello-world w rejestrze kontenerów platformy Azure).

docker rmi <login-server>/hello-world:v1

Uruchamianie obrazu z rejestru

Teraz można ściągnąć i uruchomić obraz kontenera hello-world:v1 z rejestru kontenerów za pomocą polecenia docker run:

docker run <login-server>/hello-world:v1  

Przykładowe dane wyjściowe:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Czyszczenie zasobów

Po zakończeniu pracy z zasobami utworzonymi w tym przewodniku Szybki start użyj polecenia Remove-AzResourceGroup, aby usunąć grupę zasobów, rejestr kontenerów i przechowywane w nim obrazy kontenerów:

Remove-AzResourceGroup -Name myResourceGroup

Następne kroki

W tym przewodniku Szybki start utworzono usługę Azure Container Registry w programie Azure PowerShell, wypchnięto obraz kontenera oraz ściągnięto i uruchomiono obraz z rejestru. Przejdź do samouczków usługi Azure Container Registry, aby dowiedzieć się więcej o tej usłudze.