Rychlý Start: Vytvoření privátního registru kontejnerů 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 služby Azure Container Registry pomocí Azure CLI. Pak pomocí příkazů Docker nahrajte image kontejneru do registru a nakonec si vydejte 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 prostředků
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 výhodná možnost pro vývojáře, kteří se naučí o Azure Container Registry. Podrobnosti o dostupných úrovních služby najdete v tématu úrovně služby registru kontejnerů.
Pomocí příkazu az acr create vytvořte instanci služby ACR. Název registru musí být jedinečný v rámci Azure a musí obsahovat 5 až 50 alfanumerických znaků. V následujícím příkladu se používá myContainerRegistry007. Aktualizujte název na jedinečnou hodnotu.
az acr create --resource-group myResourceGroup \
--name myContainerRegistry007 --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/myContainerRegistry007",
"location": "eastus",
"loginServer": "mycontainerregistry007.azurecr.io",
"name": "myContainerRegistry007",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
Poznamenejte si loginServer výstup, který je plně kvalifikovaný název registru (malými písmeny). V celé zbývající části tohoto rychlého startu <registry-name> je zástupný symbol pro název registru kontejneru a <login-server> je zástupný symbol pro název přihlašovacího serveru registru.
Tip
V tomto rychlém startu vytvoříte registr Basic, což je nákladově optimalizovaná možnost pro vývojáře, kteří se učí o Azure Container Registry. Pokud chcete zvýšit propustnost úložiště a obrázků, zvolte další úrovně a možnosti, jako je například připojení pomocí privátního koncového bodu. Podrobnosti o dostupných úrovních služby (SKU) najdete v tématu Úrovně služeb registru kontejneru.
Přihlášení k registru
Před vložením a stažením imagí kontejneru se musíte přihlásit k registru. K tomu použijte příkaz az acr login. Pokud se přihlašujete pomocí Azure CLI, zadejte jenom 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 , který vyžádá existující veřejnou image. V tomto příkladu načetli hello-world image z Microsoft Container Registry.
docker pull mcr.microsoft.com/hello-world
Před nahráním image do registru je nutné ji označit pomocí plně kvalifikovaného názvu přihlašovacího serveru registru. Název přihlašovacího serveru je ve formátu <registry-name> . azurecr.IO (musí být malými písmeny), 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í příkazu Docker push nahrajte 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í Docker. (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 vypíše úložiště v registru:
az acr repository list --name <registry-name> --output table
Výstup:
Result
----------------
hello-world
Následující příklad vypíše 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
Spustit bitovou kopii z registru
Nyní můžete načíst a spustit hello-world:v1 Image kontejneru z registru kontejneru pomocí nástroje 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 k odebrání skupiny prostředků, registru kontejneru a uložených imagí kontejneru použít příkaz AZ Group Delete .
az group delete --name myResourceGroup
Další kroky
V tomto rychlém startu jste vytvořili Azure Container Registry pomocí Azure CLI, nahráli jste image kontejneru do registru a z registru jste vyžádali a spustili image. Pokračujte Azure Container Registry výukové kurzy, kde najdete hlubší přehled na ACR.