Többtárolós (előzetes verziójú) alkalmazás létrehozása Docker Compose-konfigurációval
Feljegyzés
A Sidecar-tárolók (előzetes verzió) többtárolós alkalmazásokat fognak sikerrel elérni az App Service-ben. Első lépésként tekintse meg az oktatóanyagot: Egyéni tárolókhoz készült oldalkocsi-tároló konfigurálása Azure-alkalmazás szolgáltatásban (előzetes verzió).
A Web App for Containers segítségével rugalmasan használhatók a Docker-rendszerképek. Ez a rövid útmutató bemutatja, hogyan helyezhet üzembe egy többtárolós alkalmazást (előzetes verzió) a Cloud Shell tárolóinak webalkalmazásában Docker Compose-konfiguráció használatával.
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.
Ez a cikk az Azure CLI 2.0.32-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
A minta letöltése
Ebben a rövid útmutatóban a Docker Compose-fájlját fogja használni. A konfigurációs fájl az Azure-minták között található.
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
A Cloud Shellben hozzon létre egy quickstart könyvtárat, és lépjen a könyvtárba.
mkdir quickstart
cd $HOME/quickstart
Ezután futtassa a következő parancsot a mintaalkalmazás-adattár a quickstart könyvtárba való klónozásához. Ezután lépjen a multicontainerwordpress
könyvtárba.
git clone https://github.com/Azure-Samples/multicontainerwordpress
cd multicontainerwordpress
Erőforráscsoport létrehozása
Az erőforráscsoport egy logikai tároló, amelybe az Azure-erőforrásokat, például webalkalmazásokat, adatbázisokat és tárfiókokat helyezik üzembe és felügyelik. Dönthet úgy is például, hogy később egyetlen egyszerű lépésben törli a teljes erőforráscsoportot.
A Cloud Shellben hozzon létre egy erőforráscsoportot az az group create
paranccsal. A következő példa létrehoz egy myResourceGroup nevű erőforráscsoportot az USA déli középső régiója helyen. A Linuxon futó, Standard szintű App Service-t támogató összes hely megtekintéséhez futtassa az az appservice list-locations --sku S1 --linux-workers-enabled
parancsot.
az group create --name myResourceGroup --location "South Central US"
Az erőforráscsoportot és az erőforrásokat általában a közelében található régiókban hozhatja létre.
A parancs befejeződésekor a JSON-kimenet megjeleníti az erőforráscsoport tulajdonságait.
Azure App Service-csomag létrehozása
A Cloud Shellben hozzon létre egy App Service-csomagot az erőforráscsoportban az az appservice plan create
paranccsal.
Az alábbi példa egy myAppServicePlan
nevű App Service-csomag létrehozását mutatja be a Standard tarifacsomagban (--sku S1
) és Linux-tárolóban (--is-linux
).
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku S1 --is-linux
Az App Service-csomag létrehozása után az Azure CLI az alábbi példához hasonló információkat jelenít meg:
{ "adminSiteName": null, "appServicePlanName": "myAppServicePlan", "geoRegion": "South Central US", "hostingEnvironmentProfile": null, "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan", "kind": "linux", "location": "South Central US", "maximumNumberOfWorkers": 1, "name": "myAppServicePlan", < JSON data removed for brevity. > "targetWorkerSizeId": 0, "type": "Microsoft.Web/serverfarms", "workerTierName": null }
Docker Compose-alkalmazás létrehozása
Feljegyzés
A Docker Compose a Azure-alkalmazás-szolgáltatásokon jelenleg 4000 karakterből áll, ha jelenleg Base64-be konvertálják.
A Cloud Shell-terminálban hozzon létre egy többtárolós webalkalmazást az myAppServicePlan
App Service-csomagban az az webapp create paranccsal. Ne felejtse el lecserélni a app_name> egy egyedi alkalmazásnévre (az érvényes karakterek a következőka-z
: és 0-9
-
).<
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml
A webalkalmazás létrehozása után az Azure CLI az alábbi példához hasonló eredményeket jelenít meg:
{ "additionalProperties": {}, "availabilityState": "Normal", "clientAffinityEnabled": true, "clientCertEnabled": false, "cloningInfo": null, "containerSize": 0, "dailyMemoryTimeQuota": 0, "defaultHostName": "<app_name>.azurewebsites.net", "enabled": true, < JSON data removed for brevity. > }
Az alkalmazás megkeresése tallózással
Keresse meg az üzembe helyezett alkalmazást a következő helyen: http://<app_name>.azurewebsites.net
. Az alkalmazás betöltése eltarthat néhány percig. Ha hibaüzenet jelenik meg, várjon néhány percet, majd frissítse a böngészőt.
Gratulálunk! Létrehozott egy többtárolós alkalmazást a Web App for Containersben.
Az üzemelő példány eltávolítása
A mintaszkript futtatása után a következő paranccsal távolítható el az erőforráscsoport és az összes ahhoz kapcsolódó erőforrás.
az group delete --name myResourceGroup