Rychlý start: Nasazení instance kontejneru v Azure pomocí Azure CLI
Spouštějte v Azure rychle a snadno bezserverové kontejnery Dockeru s využitím služby Azure Container Instances. Pokud nepotřebujete úplnou platformu orchestrace kontejnerů, jako je služba Azure Kubernetes Service, můžete aplikaci nasadit do instance kontejneru na vyžádání.
V tomto rychlém startu pomocí Azure CLI nasadíte izolovaný kontejner Dockeru a zpřístupníte jeho aplikaci s plně kvalifikovaným názvem domény (FQDN). Několik sekund po spuštění jednoho příkazu nasazení můžete přejít do aplikace spuštěné v kontejneru:
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Tento rychlý start vyžaduje verzi 2.0.55 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Upozorňující
Osvědčený postup: Přihlašovací údaje uživatele předávané přes rozhraní příkazového řádku (CLI) se ukládají jako prostý text v back-endu. Ukládání přihlašovacích údajů ve formátu prostého textu představuje bezpečnostní riziko; Microsoft doporučuje zákazníkům ukládat přihlašovací údaje uživatele do proměnných prostředí rozhraní příkazového řádku, aby se zajistilo, že jsou při uložení v back-endu zašifrované nebo transformované.
Vytvoření skupiny zdrojů
Instance kontejnerů Azure, stejně jako všechny prostředky Azure, se musí nasadit do skupiny prostředků. Skupiny prostředků vám umožňují organizaci a správu souvisejících prostředků Azure.
Nejprve pomocí následujícího příkazu az group createvytvořte skupinu prostředků s názvem myResourceGroup v umístění eastus:
az group create --name myResourceGroup --location eastus
Vytvoření kontejneru
Teď máte skupinu prostředků a můžete spustit kontejner v Azure. K vytvoření instance kontejneru pomocí Azure CLI zadejte do příkazu az container create název skupiny prostředků, název instance kontejneru a image kontejneru Dockeru. V tomto rychlém startu použijete veřejnou mcr.microsoft.com/azuredocs/aci-helloworld
image. Tento obrázek zabalí malou webovou aplikaci napsanou v Node.js, která obsluhuje statickou stránku HTML.
Kontejnery můžete zveřejnit na internetu tak, že zadáte jeden nebo více otevíraných portů, popisek názvu DNS nebo oboje. V tomto rychlém startu nasadíte kontejner s popiskem názvu DNS, aby byla webová aplikace veřejně dostupná.
Spuštěním příkazu podobného následujícímu spusťte instanci kontejneru. --dns-name-label
Nastavte hodnotu, která je jedinečná v rámci oblasti Azure, ve které instanci vytvoříte. Pokud se zobrazí chybová zpráva „Popisek názvu DNS není dostupný“, zkuste jiný popisek názvu DNS.
az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80
Během několika sekund byste měli získat odpověď z Azure CLI, která indikuje dokončení nasazení. Zkontrolujte stav pomocí příkazu az container show:
az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
Po spuštění příkazu se zobrazí plně kvalifikovaný název domény kontejneru a stav jeho zřizování.
FQDN ProvisioningState
--------------------------------- -------------------
aci-demo.eastus.azurecontainer.io Succeeded
Pokud je kontejner ProvisioningState
úspěšný, přejděte v prohlížeči na jeho plně kvalifikovaný název domény. Pokud zobrazená webová stránka vypadá přibližně takto, blahopřejeme! Úspěšně jste nasadili aplikaci spuštěnou v kontejneru Dockeru do Azure.
Pokud se zpočátku aplikace nezobrazí, může být nutné několik sekund počkat, než se DNS rozšíří, a pak zkusit aktualizovat stránku v prohlížeči.
Vyžádání protokolů kontejneru
Pokud potřebujete odstranit potíže s kontejnerem nebo aplikací, která je v něm spuštěna (nebo pouze zobrazit její výstup), začněte zobrazením protokolů instance kontejneru.
Vyžádejte si protokoly instance kontejneru pomocí příkazu az container logs:
az container logs --resource-group myResourceGroup --name mycontainer
Ve výstupu se zobrazí protokoly kontejneru a měly by se zobrazit i požadavky HTTP GET, které se vygenerovaly, když jste aplikaci zobrazili v prohlížeči.
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Připojení výstupních datových proudů
Kromě zobrazení protokolů můžete k datovým proudům kontejneru připojit i standardní výstupní a chybový datový proud.
Nejprve spusťte příkaz az container attach a připojte místní konzolu k výstupním datovým proudům kontejneru:
az container attach --resource-group myResourceGroup --name mycontainer
Po připojení aktualizujte prohlížeč několikrát, aby se vygeneroval další výstup. Když jste hotovi, odpojte konzolu stisknutím Control+C
. Zobrazený výstup by měl vypadat přibližně takto:
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 17:27:20+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:24+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Started container
Start streaming logs:
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:47:01 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.56 - - [21/Mar/2019:17:47:12 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Vyčištění prostředků
Až s kontejnerem skončíte, odeberte ho pomocí příkazu az container delete:
az container delete --resource-group myResourceGroup --name mycontainer
Pokud chcete ověřit, že se kontejner odstranil, spusťte příkaz az container list :
az container list --resource-group myResourceGroup --output table
Kontejner mycontainer by se neměl zobrazovat ve výstupu příkazu. Pokud ve skupině prostředků nemáte žádné další kontejnery, nezobrazí se žádný výstup.
Když jste hotovi se skupinou prostředků myResourceGroup a všemi prostředky, které obsahuje, odstraňte ji pomocí příkazu az group delete:
az group delete --name myResourceGroup
Další kroky
V tomto rychlém startu jste vytvořili instanci kontejneru Azure pomocí veřejné image Microsoftu. Pokud chcete sestavit image kontejneru a nasadit ji z privátního registru kontejnerů Azure, pokračujte ke kurzu služby Azure Container Instances.
Pokud chcete vyzkoušet možnosti spouštění kontejnerů v systému orchestrace v Azure, projděte si rychlé starty pro Azure Kubernetes Service (AKS ).