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.

Poniższy przykład obejmuje tworzenie grupy 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 użyto polecenia 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.

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 musisz zalogować się do rejestru. Aby to zrobić, użyj polecenia az acr login. Określ tylko nazwę zasobu rejestru podczas logowania 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 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

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

Dane wyjściowe:

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

Dane wyjściowe:

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 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

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.