Rövid útmutató: Tárolópéldány üzembe helyezése az Azure-ban az Azure CLI használatával
Az Azure Container Instances segítségével egyszerűen és gyorsan futtathat kiszolgáló nélküli Docker-tárolókat az Azure-ban. Igény szerint üzembe helyezhet alkalmazásokat a tárolópéldányokon, és nem kell teljes körű tárolóvezérlési platformot használnia (amilyen például az Azure Kubernetes Service).
Ebben a rövid útmutatóban az Azure CLI használatával üzembe helyezhet egy izolált Docker-tárolót, és elérhetővé teheti alkalmazását teljes tartománynévvel (FQDN). Néhány másodperccel egyetlen üzembehelyezési parancs végrehajtása után tallózhat a tárolóban futó alkalmazáshoz:
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Ehhez a rövid útmutatóhoz az Azure CLI 2.0.55-ös vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Figyelmeztetés
Ajánlott eljárás: A parancssori felületen (CLI) átadott felhasználói hitelesítő adatok egyszerű szövegként vannak tárolva a háttérrendszerben. A hitelesítő adatok egyszerű szövegben való tárolása biztonsági kockázatot jelent; A Microsoft azt tanácsolja az ügyfeleknek, hogy a felhasználói hitelesítő adatokat cli környezeti változókban tárolják annak biztosítása érdekében, hogy a háttérrendszerben tárolt adatok titkosítva vagy átalakítva legyenek.
Erőforráscsoport létrehozása
Az Azure Container Instancest – mint minden Azure-erőforrást – egy erőforráscsoportban kell üzembe helyezni. Az erőforráscsoportok lehetővé teszik az egymáshoz kapcsolódó Azure-erőforrások rendszerezését és kezelését.
Először hozzon létre egy erőforráscsoportot myResourceGroup néven az eastus helyen az alábbi az group create paranccsal:
az group create --name myResourceGroup --location eastus
Tároló létrehozása
Most, hogy rendelkezik egy erőforráscsoporttal, futtathat egy tárolót az Azure-ban. Egy tárolópéldány Azure CLI-vel való létrehozásához adjon meg egy erőforráscsoport-nevet, egy tárolópéldánynevet és egy Docker-tárolórendszerképet az az container create parancsban. Ebben a rövid útmutatóban a nyilvános mcr.microsoft.com/azuredocs/aci-helloworld
rendszerképet fogja használni. Ez a kép egy Node.js írt kis webalkalmazást tartalmaz, amely statikus HTML-oldalt szolgál ki.
Közzéteheti a tárolókat az interneten egy vagy több port megnyitásával, egy DNS-névcímke megadásával, vagy mindkettővel. Ebben a rövid útmutatóban dns-névcímkével rendelkező tárolót helyez üzembe, hogy a webalkalmazás nyilvánosan elérhető legyen.
Egy tárolópéldány elindításához hajtsa végre a következőhöz hasonló parancsot. Állítson be egy --dns-name-label
egyedi értéket abban az Azure-régióban, ahol a példányt létrehozza. Ha „A DNS-névcímke nem érhető el” hibaüzenetet kap, próbálkozzon másik DNS-névcímkével.
az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80
Néhány másodpercen belül választ kell kapnia az Azure CLI-től, amely jelzi, hogy az üzembe helyezés befejeződött. Az állapotát az az container show paranccsal ellenőrizheti:
az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
A parancs futtatásakor a tároló teljes tartományneve (FQDN) és annak kiépítési állapota jelenik meg.
FQDN ProvisioningState
--------------------------------- -------------------
aci-demo.eastus.azurecontainer.io Succeeded
Ha a tároló ProvisioningState
sikeres, lépjen a teljes tartománynévre a böngészőben. Ha egy, az alábbihoz hasonló weboldal jelenik meg, gratulálunk! Sikeresen üzembe helyezett egy Docker-tárolóban futó alkalmazást az Azure-ban.
Ha az alkalmazás nem indul el azonnal, lehet, hogy csak várnia kell pár másodpercet, amíg a DNS elvégzi a propagálást. Ezt követően próbálja ismét frissíteni a böngészőjét.
A tároló naplóinak lekérése
Amikor hibaelhárítást kell végrehajtania egy tárolón, vagy az abban futtatott alkalmazáson (vagy csak meg kell néznie a kimenetet), először tekintse meg a tárolópéldány naplóit.
A tárolópéldány naplóit az az container logs paranccsal hívhatja le:
az container logs --resource-group myResourceGroup --name mycontainer
A kimenet megjeleníti a tároló naplóit, és a HTTP GET kéréseknek is meg kell jelenniük, amelyek akkor jöttek létre, amikor az alkalmazást a böngészőjében megtekintette.
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"
Kimeneti stream csatolása
A naplók megtekintése mellett helyi standard kimeneti és hibastreameket csatolhat a tárolóhoz.
Először hajtsa végre az az container attach parancsot a helyi konzolnak a tároló kimeneti adatfolyamaihoz való csatolásához:
az container attach --resource-group myResourceGroup --name mycontainer
Miután csatolta, frissítse a böngészőt néhányszor, hogy még több kimenetet hozzon létre. Amikor kész, válassza le a konzolt a Control+C
paranccsal. A következő mintához hasonló kimenetnek kell megjelennie:
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"
Az erőforrások eltávolítása
Miután végzett a tárolóval, az az container delete parancs használatával távolíthatja el:
az container delete --resource-group myResourceGroup --name mycontainer
A tároló törlésének ellenőrzéséhez hajtsa végre az az container list parancsot:
az container list --resource-group myResourceGroup --output table
A mycontainer-tároló nem jelenhet meg a parancs kimenetében. Ha az erőforráscsoportban nincs másik tároló, akkor semmilyen kimenet nem jelenik meg.
Ha végzett a myResourceGroup erőforráscsoporttal és az abban lévő erőforrásokkal, törölje le az az group delete paranccsal:
az group delete --name myResourceGroup
Következő lépések
Ebben a rövid útmutatóban létrehozott egy Azure-tárolópéldányt egy nyilvános Microsoft-rendszerkép használatával. Ha szeretne létrehozni és üzembe helyezni egy tárolórendszerképet egy privát Azure-tárolóregisztrációs adatbázisból, lépjen tovább az Azure Container Instances oktatóanyagára.
A tárolók Azure-beli vezénylési rendszerben való futtatásának lehetőségeiről az Azure Kubernetes Service (AKS) rövid útmutatóiban olvashat.