Szybki start: tworzenie prywatnego rejestru kontenerów przy użyciu interfejsu wiersza polecenia platformy Azure
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ą interfejsu wiersza polecenia platformy Azure. Następnie za pomocą poleceń platformy Docker wypchniesz obraz kontenera do rejestru, a na koniec ściągniesz i uruchomisz obraz z rejestru.
Ten przewodnik Szybki start wymaga interfejsu wiersza polecenia platformy Azure (zalecana jest wersja 2.0.55 lub nowsza). 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.
Musisz mieć również zainstalowane lokalnie środowisko Docker. Środowisko Docker zawiera pakiety, które umożliwiają łatwe konfigurowanie platformy Docker w systemie macOS, Windows lub 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.
Tworzenie grupy zasobów
Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.
W poniższym przykładzie tworzona jest grupa zasobów o nazwie myResourceGroup w lokalizacji eastus.
az group create --name myResourceGroup --location eastus
Tworzenie rejestru kontenerów
W tym przewodniku Szybki start utworzysz rejestr Podstawowy, który jest zoptymalizowaną pod względem kosztów opcją dla deweloperów poznających usługę Azure Container Registry. Aby uzyskać szczegółowe informacje na temat dostępnych warstw usług, zobacz Warstwy usług rejestru kontenerów.
Utwórz wystąpienie usługi ACR za pomocą polecenia az acr create. Nazwa rejestru musi być unikatowa na platformie Azure i zawierać od 5 do 50 małych znaków alfanumerycznych. W poniższym przykładzie jest używana metoda mycontainerregistry . Zaktualizuj ją do unikatowej wartości.
az acr create --resource-group myResourceGroup \
--name mycontainerregistry --sku Basic
Po utworzeniu rejestru dane wyjściowe będą podobne do następujących:
{
"adminUserEnabled": false,
"creationDate": "2019-01-08T22:32:13.175925+00:00",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry",
"location": "eastus",
"loginServer": "mycontainerregistry.azurecr.io",
"name": "mycontainerregistry",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
Zanotuj wartość loginServer
w danych wyjściowych, która jest w pełni kwalifikowaną nazwą rejestru (wszystkie małe litery). W pozostałej części tego przewodnika Szybki start <registry-name>
jest symbolem zastępczym nazwy rejestru kontenerów i <login-server>
jest symbolem zastępczym nazwy serwera logowania rejestru.
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 musisz zalogować się do rejestru. Aby to zrobić, użyj polecenia az acr login. Określ tylko nazwę zasobu rejestru podczas logowania się przy użyciu interfejsu wiersza polecenia platformy Azure. Nie używaj w pełni kwalifikowanej nazwy serwera logowania.
az acr login --name <registry-name>
Przykład:
az acr login --name mycontainerregistry
Po ukończeniu polecenie zwraca komunikat 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
Tworzenie listy obrazów kontenerów
Poniższy przykład wyświetla listę repozytoriów w Twoim rejestrze:
az acr repository list --name <registry-name> --output table
Wyjście:
Result
----------------
hello-world
Poniższy przykład zawiera listę tagów w repozytorium hello-world .
az acr repository show-tags --name <registry-name> --repository hello-world --output table
Wyjście:
Result
--------
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
Gdy grupa zasobów, rejestr kontenerów i przechowywane w nim obrazy kontenerów nie będą już potrzebne, można je usunąć za pomocą polecenia az group delete.
az group delete --name myResourceGroup
Następne kroki
W tym przewodniku Szybki start utworzono usługę Azure Container Registry za pomocą interfejsu wiersza polecenia platformy Azure, wypchnięto obraz kontenera do rejestru 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.