Nasazení image Dockeru do instance kontejneru Azure

Dokončeno

Azure Container Instance je služba, která načítá a spouští image Dockeru na vyžádání. Služba Azure Container Instance může načíst image z registru, jako je Docker Hub nebo Azure Container Registry.

Vaše organizace chce k provozování svých webových aplikací používat Azure. Z tohoto důvodu dává smysl ukládat image do služby Azure Container Registry a spouštět je pomocí služby Azure Container Instance.

V této lekci se dozvíte, jak nahrát image Dockeru do služby Azure Container Registry. Pak image spustíte pomocí služby Azure Container Instance.

Použití služby Azure Container Registry k uložení kontejneru

Azure Container Registry je služba hostování registru, kterou poskytuje Azure. Každý prostředek Azure Container Registry, který vytvoříte, je samostatným registrem s jedinečnou adresou URL. Tyto registry jsou soukromé, což znamená, že vyžadují ověření pro nasdílení nebo vyžádání imagí. Azure Container Registry běží v cloudu a poskytuje podobné úrovně škálovatelnosti a dostupnosti pro ostatní služby Azure.

Registr můžete vytvořit pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI). Cloud Shell můžete použít na webu Azure Portal nebo místní instalaci Azure CLI. Nezapomeňte, že před vytvořením registru potřebujete vytvořit skupinu prostředků. Při vytváření skupiny prostředků doporučujeme zvolit nejbližší oblast. V tomto příkladu je mygroupnázev naší skupiny prostředků a umístění je USA – západ.

Nemusíte spouštět žádné z následujících příkazů. Uděláme to v dalším cvičení.

Poznámka:

Potřebujete jedinečný název kontejneru. Můžete zkontrolovat, jestli se tady už používá název.

az group create --name mygroup --location westus
az acr create --name <unique name> --resource-group mygroup --sku standard --admin-enabled true

Různé skladové položky poskytují různé úrovně škálovatelnost a úložiště.

Úložiště Azure Container Registry jsou privátní, což znamená, že nepodporují neověřený přístup. Ke stažení imagí z úložiště Azure Container Registry použijte příkaz docker login a zadejte adresu URL přihlašovacího serveru registru. Adresa URL přihlašovacího serveru registru ve službě Azure Container Registry má tvar <název_registru>azurecr.io.

docker login myregistry.azurecr.io

Přihlášení Dockeru vás vyzve k zadání uživatelského jména a hesla. Pokud chcete tyto informace najít, přejděte na web Azure Portal a vyhledejte přístupové klíče pro registr nebo spusťte následující příkaz.

az acr credential show --name myregistry --resource-group mygroup

Pomocí příkazu nasdílíte image z místního počítače do registru Dockerudocker push. Než nasdílíte image, musíte vytvořit alias pro image, která určuje úložiště a značku, kterou registr Dockeru vytvoří. Název úložiště musí být ve formátu *<login_server>/<image_name>:<tag/.> K provedení této operace použijte příkaz docker tag. Následující příklad vytvoří alias pro image reservationsystem .

docker tag reservationsystem myregistry.azurecr.io/reservationsystem:v2

Pokud spustíte docker image ls, zobrazí se pro obrázek dvě položky: jedna s původním názvem a druhá s novým aliasem.

Po spuštění příkazu značky můžete image nahrát do registru ve službě Azure Container Registry pomocí následujícího příkazu.

docker push myregistry.azurecr.io/reservationsystem:v2

Pomocí následujícího příkazu ověřte, že se image správně nahrála, a to výpisem úložišť v registru.

az acr repository list --name myregistry --resource-group mygroup

Pomocí příkazu můžete také zobrazit seznam imagí v registru acr repository show .

az acr repository show --repository reservationsystem --name myregistry --resource-group mygroup

Poznámka:

Pro každou image v úložišti budete mít aspoň dvě značky. Jedna značka bude hodnota, kterou jste zadali v příkazu acr build (v1 v předchozím příkladu). Druhá bude latest. Pokaždé, když image znovu sestavíte, vytvoří Azure Container Registry automaticky značku latest jako alias pro nejnovější verzi image.

Použití služby Azure Container Instance ke spuštění image

Služba instance kontejneru Azure dokáže načíst image ze služby Azure Container Registry a spustit ji v Azure.

Pomocí příkazu vytvoříte instanci kontejneru a spustíte image spuštěnou az container create . Do parametrů registry-username a registry-password zadejte uživatelské jméno a heslo pro registr. Instanci se přidělí nějaká IP adresa. Tuto IP adresu použijte pro přístup k instanci. Volitelně můžete zadat název DNS, pokud chcete na instanci odkazovat pomocí snadněji zapamatovatelného popisku. Uvědomte si, že image určujete jako adresu URL, která odkazuje na registr (myregistry) ve službě Azure Container Registry (azurecr.io). Pokud používáte Docker Hub nebo jiný registr, nahraďte tuto adresu URL adresou URL vaší image v tomto registru.

az container create --resource-group mygroup --name myinstance --image myregistry.azurecr.io/myapp:latest --dns-name-label mydnsname --registry-username <username> --registry-password <password>

Azure hostuje instanci s názvem domény na základě zadaného popisku DNS. Plně kvalifikovaný název domény instance najdete dotazem na IP adresu instance.

az container show --resource-group mygroup --name myinstance --query ipAddress.fqdn

Aplikaci zpřístupníte pomocí webového prohlížeče. Můžete přejít na adresu URL, která tento příkaz vrátí; V další lekci se dozvíme, jak na to.