Szybki start: tworzenie prywatnego rejestru kontenerów przy użyciu programu 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 za pomocą programu 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
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. 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 się 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
Utwórz grupę 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 poniższym poleceniu, a następnie uruchom go, aby utworzyć rejestr:
$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Basic
Napiwek
W tym przewodniku Szybki start utworzysz rejestr podstawowy , który jest opcją zoptymalizowaną pod kątem kosztów dla deweloperów uczących się usługi 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ń, za pomocą których zalogowano się podczas uwierzytelniania na platformie Azure za Connect-AzAccount
pomocą 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 mieć obraz. 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
Aby można było wypchnąć obraz do rejestru, należy oznaczyć go w pełni kwalifikowaną nazwą serwera logowania rejestru. Nazwa serwera logowania jest w formacie <nazwa-rejestru.azurecr.io> (musi mieć 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 wyjście:
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.