Sdílet prostřednictvím


Rychlý start: Vytvoření registru kontejnerů Azure pomocí webu Azure Portal

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í webu Azure Portal. Pak pomocí příkazů Dockeru nasdílejte image kontejneru do registru a nakonec stáhněte a spusťte image z registru.

Pokud se chcete přihlásit k registru pro práci s obrazy kontejnerů, musíte mít 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.

Musíte mít také lokálně nainstalovaný Docker se spuštěným démonem. Docker nabízí balíčky pro snadnou konfiguraci Dockeru na jakémkoli Macu nebo systému Windows či Linux.

Přihlášení k Azure

Přihlaste se k portálu Azure.

Vytvoření registru kontejneru

Vyberte Vytvořit prostředek>Kontejnery>Registr kontejnerů.

Přechod na registr kontejneru na portálu

Konfigurace názvu registru kontejneru a skladové položky

V kartě Základy zadejte hodnoty pro skupinu prostředků a název registru. Název registru musí být jedinečný v rámci Azure a musí obsahovat 5 až 50 alfanumerických znaků s nepovolenými znaky pomlčky (-) v názvu registru. Pro účely tohoto rychlého startu vytvořte novou skupinu prostředků v umístění West US 2 s názvem myResourceGroup a jako SKU vyberte Standard.

Vytvoření registru kontejneru na portálu

Další informace o různých možnostech skladové položky najdete v tématu Skladové položky služby Azure Container Registry.

Konfigurace možnosti názvu domény (DNL)

Funkce DNL (Domain Name Label) posiluje zabezpečení tím, že brání útokům na převzetí subdomény názvů DNS registru. K těmto útokům dochází při odstranění registru a jiná entita znovu použije stejný název registru, což může způsobit, že podřízené odkazy se přetahují z registru znovu vytvořeného jinou entitou.

DNL to řeší připojením jedinečné hodnoty hash k názvu DNS registru. Tím se zajistí, že i když je stejný název registru znovu použit jinou entitou, názvy DNS se budou lišit kvůli jedinečné hodnotě hash. Tím se zajistí, aby vaše následné odkazy neúmyslně neukazovaly na registr, který znovu vytvořila jiná entita.

Při vytváření registru z portálu vyberte obor popisku názvu domény z dostupných možností:

  • Nezabezpečené: Vytvoří název DNS as-isna základě názvu registru (např. contosoacrregistry.azurecr.io). Tato možnost neobsahuje ochranu DNL.
  • Opakované použití tenanta: Připojí jedinečnou hodnotu hash na základě názvu tenanta a registru a zajistí, aby byl název DNS v rámci tenanta jedinečný.
  • Opětovné použití předplatného: Připojí jedinečnou hodnotu hash na základě názvu předplatného, tenanta a registru a zajistí, aby byl název DNS v rámci předplatného jedinečný.
  • Opakované použití skupiny prostředků: Připojí jedinečnou hodnotu hash založenou na skupině prostředků, předplatném, tenantovi a názvu registru a zajistí, aby byl název DNS v rámci skupiny prostředků jedinečný.
  • Žádné opakované použití: Vygeneruje jedinečný název DNS s jedinečnou hodnotou hash při každém vytvoření registru bez ohledu na jiné faktory, aby byl název DNS vždy jedinečný.

Poznámka:

Neměnná konfigurace: Obor DNL vybraný během vytváření registru je trvalý a nelze ho později změnit. Tím zajistíte konzistentní chování DNS a zabráníte přerušení podřízených odkazů.

Možnost Konfigurovat popisek názvu domény

Důsledky názvů DNS pro možnosti DNL

Formát názvu DNS: Pro všechny možnosti s povolenou hodnotou DNL kromě nezabezpečeného názvu DNS se název DNS řídí formátem registryname-hash.azurecr.io, kde pomlčka (-) slouží jako delineátor hash. Aby nedocházelo ke konfliktům, není v názvu registru povolena pomlčka (-). Například registr pojmenovaný contosoacrregistry s rozsahem DNL Tenant Reuse bude mít název DNS, jako je contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io.

Podřízené odkazy: Název DNS se může lišit od názvu registru, což vyžaduje aktualizace v podřízených souborech, jako jsou Dockerfiles, Kubernetes YAML a Helm charty, aby odrážely úplný název DNS s hash DNL. Pokud například chcete, aby podřízený soubor Dockerfile odkazoval na registr s oborem contosoacrregistryTenant Reuse DNL, museli byste aktualizovat odkaz na contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io v podřízeném souboru Dockerfile.

Snímek obrazovky s kontrolou možnosti Popisek názvu domény a názvu DNS

Konfigurace režimu oprávnění přiřazení role

Nakonfigurujte režim oprávnění přiřazení role nového registru. Tato možnost určuje, jak se pro registr spravuje řízení přístupu na základě role (RBAC) a přiřazení rolí Microsoft Entra, včetně použití řízení přístupu na základě atributů Microsoft Entra (ABAC) pro oprávnění úložiště Microsoft Entra.

Pokud chcete zachovat standardní přiřazení rolí Microsoft Entra RBAC, zvolte "RBAC Registry + ABAC" a volitelně můžete použít podmínky Microsoft Entra ABAC pro jemně odstupňované řízení přístupu na úrovni úložiště.

Snímek obrazovky s konfigurací režimu oprávnění přiřazení rolí

Další informace o této možnosti naleznete v tématu Řízení přístupu na základě atributu Microsoft Entra (ABAC) pro oprávnění úložiště.

Nasazení registru kontejneru

Přijměte výchozí hodnoty pro zbývající nastavení. Pak vyberte Zkontrolovat a vytvořit. Po kontrole nastavení vyberte Vytvořit.

Doporučení

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.

Po zobrazení zprávy o úspěšném nasazení vyberte na portálu registr kontejneru.

Přehled registru kontejneru na portálu

Poznamenejte si název registru a hodnotu přihlašovacího serveru, což je plně kvalifikovaný název končící azurecr.io v cloudu Azure. Pokud jste vybrali možnost DNL, název přihlašovacího serveru bude obsahovat jedinečnou hodnotu hash.

Při použití přihlašovacího serveru při push a pull imagí pomocí Dockeru, stejně jako v souvisejících referencích, jako jsou Dockerfiles, Kubernetes YAML a Helm charty, postupujte podle následujících kroků.

Přihlášení k registru

Před odesláním a stažením obrazů kontejneru se musíte přihlásit k instanci registru. Přihlaste se k Azure CLI na místním počítači a spusťte příkaz az acr login .

Při přihlašování pomocí Azure CLI zadejte pouze název prostředku registru, například az acr login -n registryname. Nepoužívejte plně kvalifikovaný název přihlašovacího serveru, například registryname.azurecr.io nebo registryname-hash.azurecr.io (pro registry s podporou DNL).

az acr login --name <registry-name>

Příklad:

az acr login --name contosoacrregistry

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

Odeslat image do úložiště

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

Seznam imagí kontejnerů

Pokud chcete zobrazit seznam imagí v registru, přejděte na portálu do svého registru a vyberte Úložiště a pak vyberte úložiště hello-world, které jste vytvořili .docker push

Zobrazit obrazy kontejnerů v portálu

Když vyberete úložiště hello-world , zobrazí se v v1části Značky obrázek označený značkou.

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ů

Na portálu přejděte do skupiny prostředků myResourceGroup, abyste vyčistili své prostředky. Po načtení skupiny prostředků klikněte na Odstranit skupinu prostředků a odeberte skupinu prostředků, registr kontejneru a image kontejneru, které jsou tam uložené.

Odstraňte skupinu prostředků na portálu

Další kroky

V tomto rychlém startu jste vytvořili Službu Azure Container Registry pomocí webu Azure Portal, odeslali 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.