Kurz: Vytvoření registru kontejneru Azure a vložení image kontejneru
Toto je druhá část třídílného kurzu. V první části tohoto kurzu se vytvářela image kontejneru Docker pro webovou aplikaci Node.js. V tomto kurzu nahrajete image do služby Azure Container Registry. Pokud jste image kontejneru ještě nevytvořili, vraťte se ke kurzu 1 – Vytvoření image kontejneru.
Služba Azure Container Registry je vaším privátním registrem Dockeru v Azure. V tomto kurzu, druhé části série, budete:
- Vytvoření instance Azure Container Registry pomocí Azure CLI
- Označit image kontejneru pro svůj registr kontejneru Azure
- Odeslat image do svého registru
V následujícím článku, který je posledním dílem série, nasadíte kontejner z privátního registru do služby Azure Container Instances.
Než začnete
Abyste mohli absolvovat tento kurz, musíte splňovat následující požadavky:
Azure CLI: Na svém místním počítači musíte mít nainstalované Azure CLI verze 2.0.29 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 rozhraní příkazového řádku Azure CLI.
Docker: V tomto kurzu se předpokládá základní znalost klíčových konceptů Dockeru, jako jsou kontejnery, image kontejnerů a základní příkazy docker
. Základní informace o Dockeru a kontejnerech najdete v článku Docker Overview (Přehled Dockeru).
Docker: K dokončení tohoto kurzu potřebujete Docker nainstalovat místně. Docker poskytuje balíčky, které nakonfigurují prostředí Dockeru v systému macOS, Windows a Linux.
Důležité
Vzhledem k tomu, že Azure Cloud Shell neobsahuje démona Dockeru, k dokončení tohoto kurzu musíte nainstalovat Azure CLI i modul Docker na svůj místní počítač. Pro účely tohoto kurzu není možné použít Azure Cloud Shell.
Vytvoření registru kontejneru Azure
Než vytvoříte registr kontejneru, budete potřebovat skupinu prostředků, do které ho budete moct nasadit. Skupina prostředků je logická kolekce, ve které se nasazují a spravují všech prostředky Azure.
Vytvořte skupinu prostředků pomocí příkazu az group create. V následujícím příkladu se vytvoří skupina prostředků s názvem myResourceGroup v oblasti eastus:
az group create --name myResourceGroup --location eastus
Jakmile vytvoříte skupinu prostředků, vytvořte registr kontejneru Azure pomocí příkazu az acr create. Název registru kontejneru musí být v rámci prostředí Azure jedinečný a musí obsahovat 5 až 50 alfanumerických znaků. Nahraďte položku <acrName>
jedinečným názvem pro svůj registr:
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
Tady je částečný výstup pro nový registr kontejneru Azure s názvem mycontainerregistry082:
{
"creationDate": "2020-07-16T21:54:47.297875+00:00",
"id": "/subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry082",
"location": "eastus",
"loginServer": "mycontainerregistry082.azurecr.io",
"name": "mycontainerregistry082",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
Zbývající část tohoto kurzu používá <acrName>
jako zástupný text pro název registru kontejneru, který zvolíte v tomto kroku.
Přihlášení k registru kontejneru
Před nahráváním imagí do instance služby Azure Container Registry se k ní musíte přihlásit. Dokončete operaci pomocí příkazu az acr login. Je třeba uvést jedinečný název, který jste zvolili pro registr kontejneru při jeho vytváření.
az acr login --name <acrName>
Příklad:
az acr login --name mycontainerregistry082
Příkaz po dokončení vrátí zprávu Login Succeeded
(Přihlášení bylo úspěšné):
Login Succeeded
Označení image kontejneru
Pokud chcete image kontejneru odeslat do privátního registru, jako je služba Azure Container Registry, musíte nejprve image označit úplným názvem přihlašovacího serveru registru.
Nejprve získejte úplný název přihlašovacího serveru pro svůj registr kontejneru Azure. Spusťte následující příkaz az acr show a nahraďte zástupný text <acrName>
názvem registru, který jste právě vytvořili:
az acr show --name <acrName> --query loginServer --output table
Pokud se například váš registr jmenuje mycontainerregistry082, bude příkaz vypadat takto:
az acr show --name mycontainerregistry082 --query loginServer --output table
Result
------------------------
mycontainerregistry082.azurecr.io
Nyní zobrazte seznam místních imagí pomocí příkazu docker images:
docker images
Kromě ostatních imagí, které máte na svém počítači, byste měli vidět image aci-tutorial-app, které jste vytvořili v předchozím kurzu:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
Označte image aci-tutorial-app pomocí přihlašovacího serveru vašeho registru kontejneru. Na konec názvu image přidejte také značku :v1
, abyste označili číslo verze image. Nahraďte položku <acrLoginServer>
výsledkem příkazu az acr show, který jste spustili před chvílí.
docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1
Spusťte příkaz docker images
znovu, abyste ověřili označení:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app v1 5c745774dfa9 7 minutes ago 68.1 MB
Nahrání image do služby Azure Container Registry
Teď, když jste image aci-tutorial-app označili úplným názvem přihlašovacího serveru vašeho privátního registru, můžete image odeslat do registru příkazem docker push . Nahraďte položku <acrLoginServer>
úplným názvem přihlašovacího serveru, který jste získali v dřívějším kroku.
docker push <acrLoginServer>/aci-tutorial-app:v1
Operace push
by měla trvat několik sekund až několik minut v závislosti na připojení k internetu a výstup je podobný následujícímu:
docker push mycontainerregistry082.azurecr.io/aci-tutorial-app:v1
The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576
Vypsání seznamu imagí ve službě Azure Container Registry
Pokud si chcete ověřit, že image, kterou jste právě odeslali, se skutečně nachází v registru kontejneru Azure, použijte příkaz az acr repository list a prohlédněte si seznam imagí ve svém registru. Nahraďte položku <acrName>
názvem svého registru kontejneru.
az acr repository list --name <acrName> --output table
Příklad:
az acr repository list --name mycontainerregistry082 --output table
Result
----------------
aci-tutorial-app
Značky pro konkrétní image si můžete zobrazit pomocí příkazu az acr repository show-tags.
az acr repository show-tags --name <acrName> --repository aci-tutorial-app --output table
Zobrazený výstup by měl vypadat přibližně takto:
--------
v1
Další kroky
V tomto kurzu jste připravili registr kontejneru Azure pro použití se službou Azure Container Instances a nahráli jste image kontejneru do registru. Dokončili jste následující kroky:
- Vytvoření instance Azure Container Registry pomocí Azure CLI
- Označení image kontejneru pro službu Azure Container Registry
- Odeslání image do služby Azure Container Registry
Přejděte k dalšímu kurzu, ve kterém se naučíte, jak nasadit kontejner do prostředí Azure s použitím služby Azure Container Instances: