Sdílet prostřednictvím


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

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í místního prostředí Azure PowerShell. Potom pomocí rozhraní příkazového řádku Dockeru načtete image kontejneru hello-world, označíte image kontejneru hello-world a vytvoříte novou image kontejneru, nasdílíte novou image kontejneru do registru kontejneru, odstraníte image místního kontejneru a nakonec image stáhnete a spustíte z registru.

Požadavky

Poznámka:

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Tento rychlý start vyžaduje modul Azure PowerShellu. Spuštěním Get-Module -ListAvailable Az určete nainstalovanou verzi. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace modulu Azure PowerShell.

Musíte mít také místně nainstalovaný Docker. Docker poskytuje balíčky pro systémy macOS, Windows a Linux .

Vzhledem k tomu, že Azure Cloud Shell neobsahuje všechny požadované komponenty Dockeru ( dockerd démon), nemůžete pro účely tohoto rychlého startu použít Cloud Shell.

Přihlásit se do Azure

Přihlaste se ke svému předplatnému Azure pomocí příkazu Connect-AzAccount a postupujte podle pokynů na obrazovce.

Connect-AzAccount

Vytvořit skupinu zdrojů

Po ověření v Azure vytvořte skupinu prostředků pomocí New-AzResourceGroup. Skupina prostředků je logický kontejner, ve kterém nasazujete a spravujete prostředky Azure.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Vytvoření registru kontejneru

Dále vytvořte registr kontejneru v nové skupině prostředků pomocí příkazu New-AzContainerRegistry .

Název registru musí být jedinečný v rámci Azure a musí obsahovat 5 až 50 alfanumerických znaků. Následující příklad vytvoří registr s názvem mycontainerregistry. Nahraďte mycontainerregistry v následujícím příkazu a pak ho spusťte a vytvořte registr:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS

Návod

V tomto rychlém startu vytvoříte standardní registr, který stačí pro většinu pracovních postupů služby 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 nahráním a stažením image kontejneru se musíte přihlásit ke svému registru pomocí cmdletu Connect-AzContainerRegistry. Následující příklad používá stejné přihlašovací údaje, se kterými jste se přihlásili při ověřování v Azure pomocí rutiny Connect-AzAccount .

Poznámka:

V následujícím příkladu je hodnota $registry.Name názvu prostředku, nikoli plně kvalifikovaný název registru.

Connect-AzContainerRegistry -Name $registry.Name

Příkaz po dokončení vrátí Login Succeeded.

Nahrání obrazu do registru

Pokud chcete odeslat image do registru kontejneru Azure, musíte nejprve mít 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 pomocí značky Dockeru s plně kvalifikovaným názvem přihlašovacího serveru registru.

  • Formát názvu přihlašovacího serveru pro chráněné registry DNL (Domain Name Label) s jedinečnou hodnotou hash názvu DNS zahrnutou je mycontainerregistry-abc123.azurecr.io.
  • Formát názvu přihlašovacího Unsecure serveru pro registry vytvořené s možností DNL je mycontainerregistry.azurecr.io.

Například pokud byl váš registr vytvořen s oborem Tenant Reuse DNL, může se přihlašovací server jevit jako mycontainerregistry-abc123.azurecr.io s hash v názvu DNS. Pokud byl váš registr vytvořen s Unsecure možností DNL, přihlašovací server by vypadal jako mycontainerregistry.azurecr.io bez hodnoty hash.

Další podrobnosti o možnostech DNL během vytváření registru a důsledky názvu DNS najdete v tématu Rychlý start – Vytvoření registru na portálu.

Příklad: Označení snímku před nahráním

Označte obraz pomocí příkazu docker tag a použijte přihlašovací server vašeho registru.

Označení obrázku pro registr ne typu DNL

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

Označování obrázku pro registr s podporou DNL:

docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.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

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čistěte zdroje

Jakmile dokončíte práci s prostředky, které jste vytvořili v tomto rychlém startu, pomocí příkazu Remove-AzResourceGroup odeberte skupinu prostředků, registr kontejneru a image kontejnerů, které jsou tam uložené:

Remove-AzResourceGroup -Name myResourceGroup

Další kroky

V tomto rychlém startu jste vytvořili instanci služby Azure Container Registry pomocí Místního prostředí Azure PowerShell, vytáhli image kontejneru Hello World, označili image hello-world k vytvoření nové image kontejneru, odeslali novou image kontejneru do registru kontejneru, odstranili místní image kontejneru a nakonec jste image stáhli a spustili z vašeho registru. Pokračujte kurzy ke službě Azure Container Registry, abyste se podrobněji podívali na ACR.