Sdílet prostřednictvím


Rychlý start: Vytvoření privátního registru kontejneru pomocí Azure CLI

Azure Container Registry je služba privátního registru pro vytváření, ukládání a správu imagí kontejnerů a souvisejících artefaktů. V tomto rychlém startu vytvoříte instanci registru kontejneru Azure pomocí Azure CLI. Pak pomocí příkazů Dockeru nasdílejte image kontejneru do registru a nakonec stáhněte a spusťte image z registru.

Tento rychlý start vyžaduje, abyste spustili Azure CLI (doporučuje se verze 2.0.55 nebo novější). Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Je také nutné mít Docker nainstalovaný místně. Docker nabízí balíčky pro snadnou konfiguraci Dockeru v libovolném systému macOS, Windows nebo Linux.

Azure Cloud Shell neobsahuje všechny požadované součásti Dockeru (démon dockerd), a proto pro tento rychlý start nelze Cloud Shell použít.

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků pomocí příkazu az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus.

az group create --name myResourceGroup --location eastus

Vytvoření registru kontejneru

V tomto rychlém startu vytvoříte základní registr, což je nákladově optimalizovaná možnost pro vývojáře, kteří se učí o službě Azure Container Registry. Podrobnosti o dostupných úrovních služby najdete v tématu Úrovně služby Container Registry.

Pomocí příkazu az acr create vytvořte instanci služby ACR. Název registru musí být v rámci Azure jedinečný a musí obsahovat 5 až 50 malých alfanumerických znaků. V následujícím příkladu se používá mycontainerregistry . Aktualizujte název na jedinečnou hodnotu.

az acr create --resource-group myResourceGroup \
  --name mycontainerregistry --sku Basic

Po vytvoření registru je výstup podobný tomuto:

{
  "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"
}

Poznamenejte loginServer si výstup, což je plně kvalifikovaný název registru (všechna malá písmena). Ve zbývající části tohoto rychlého startu <registry-name> je zástupný symbol pro název registru kontejneru a <login-server> představuje zástupný symbol pro název přihlašovacího serveru registru.

Tip

V tomto rychlém startu vytvoříte základní registr, což je nákladově optimalizovaná možnost pro vývojáře, kteří se učí o službě Azure Container Registry. Zvolte další úrovně pro zvýšení propustnosti úložiště a image a možnosti, jako je připojení pomocí privátního koncového bodu. Podrobnosti o dostupných úrovních služby (SKU) najdete v tématu Úrovně služby Container Registry.

Přihlášení k registru

Před nasdílením a vyžádáním imagí kontejneru se musíte přihlásit k registru. K tomu použijte příkaz az acr login. Při přihlašování pomocí Azure CLI zadejte pouze název prostředku registru. Nepoužívejte plně kvalifikovaný název přihlašovacího serveru.

az acr login --name <registry-name>

Příklad:

az acr login --name mycontainerregistry

Příkaz po dokončení vrátí zprávu Login Succeeded (Přihlášení bylo úspěšné).

Odeslání image do registru

Pokud chcete nasdílet image do služby Azure Container Registry, musíte nejprve mít nějakou image. Pokud ještě nemáte žádné místní image kontejneru, spusťte následující příkaz docker pull a stáhněte existující veřejnou image. V tomto příkladu stáhněte hello-world image ze služby Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Než budete moct odeslat image do registru, musíte ji označit plně kvalifikovaným názvem přihlašovacího serveru registru. Název přihlašovacího serveru je ve formátu <název>_registru.azurecr.io (musí to být všechna malá písmena), například mycontainerregistry.azurecr.io.

Označte image pomocí příkazu docker tag. Nahraďte <login-server> názvem přihlašovacího serveru vaší instance ACR.

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

Příklad:

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

Nakonec pomocí docker push nasdílejte image do instance registru. Nahraďte <login-server> názvem přihlašovacího serveru vaší instance registru. Tento příklad vytvoří úložiště hello-world obsahující hello-world:v1 image.

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

Po nahrání image do registru kontejneru odeberte hello-world:v1 image z místního prostředí Dockeru. (Všimněte si, že tento příkaz docker rmi neodebere image z úložiště hello-world ve vašem registru kontejneru Azure.)

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

Výpis imagí kontejnerů

Následující příklad uvádí úložiště ve vašem registru:

az acr repository list --name <registry-name> --output table

Výstup:

Result
----------------
hello-world

Následující příklad uvádí značky v úložišti hello-world .

az acr repository show-tags --name <registry-name> --repository hello-world --output table

Výstup:

Result
--------
v1

Spuštění image z registru

Teď můžete načíst a spustit image kontejneru hello-world:v1 z registru kontejneru pomocí příkazu Docker run:

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

Příklad výstupu:

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.

[...]

Vyčištění prostředků

Pokud už je nepotřebujete, můžete pomocí příkazu az group delete odebrat skupinu prostředků, registr kontejneru a image kontejneru uložené tam.

az group delete --name myResourceGroup

Další kroky

V tomto rychlém startu jste vytvořili Službu Azure Container Registry pomocí Azure CLI, odeslali do registru image kontejneru a stáhli a spustili image z registru. Pokračujte kurzy ke službě Azure Container Registry, abyste se podrobněji podívali na ACR.