Skapa en app med flera containrar (förhandsversion) med hjälp av en Docker Compose-konfiguration
Kommentar
Sidovagnscontainrar (förhandsversion) lyckas med appar med flera containrar i App Service. Kom igång genom att läsa Självstudie: Konfigurera en sidovagnscontainer för anpassad container i Azure App Service (förhandsversion).
Med Web App for Containers får du ett flexibelt sätt att använda Docker-avbildningar. Den här snabbstarten visar hur du distribuerar en app med flera containrar (förhandsversion) till Web App for Containers i Cloud Shell med hjälp av en Docker Compose-konfiguration.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Den här artikeln kräver version 2.0.32 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Hämta exemplet
För den här snabbstarten använder du compose-filen från Docker. Konfigurationsfilen finns på Azure Samples (Azure-exempel).
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:
Skapa en snabbstartskatalog i Cloud Shell och ändra sedan till den.
mkdir quickstart
cd $HOME/quickstart
Kör sedan följande kommando för att klona lagringsplatsen för exempelprogrammet till din snabbstartskatalog. Ändra sedan till katalogen multicontainerwordpress
.
git clone https://github.com/Azure-Samples/multicontainerwordpress
cd multicontainerwordpress
Skapa en resursgrupp
En resursgrupp är en logisk container där Azure-resurser, till exempel webbappar, databaser och lagringskonton, distribueras och hanteras. Du kan exempelvis välja att ta bort hela resursgruppen i ett enkelt steg längre fram.
Skapa i Cloud Shell en resursgrupp med kommandot az group create
. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen South Central US (USA, södra centrala). Om du vill se alla platser som stöds för App Service på Linux på Standard-nivån kör du kommandot az appservice list-locations --sku S1 --linux-workers-enabled
.
az group create --name myResourceGroup --location "South Central US"
Du skapar vanligtvis din resursgrupp och resurserna i en region nära dig.
När kommandot har slutförts visar JSON-utdata resursgruppens egenskaper.
Skapa en Azure App Service-plan
Skapa i Cloud Shell en App Service-plan i resursgruppen med kommandot az appservice plan create
.
I följande exempel skapas en App Service-plan med namnet myAppServicePlan
i prisnivån Standard (--sku S1
) och i en Linux-container (--is-linux
).
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku S1 --is-linux
När App Service-planen har skapats visas information av Azure CLI. Informationen ser ut ungefär som i följande exempel:
{ "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 }
Skapa en Docker Compose-app
Kommentar
Docker Compose i Azure App Services har för närvarande en gräns på 4 000 tecken när den konverteras till Base64 för tillfället.
I Cloud Shell-terminalen skapar du en webbapp med flera containrar i myAppServicePlan
App Service-planen med kommandot az webapp create. Glöm inte att ersätta <app_name> med ett unikt appnamn (giltiga tecken är a-z
, 0-9
och -
).
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml
När webbappen har skapats visar Azure CLI utdata liknande den i följande exempel:
{ "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. > }
Bläddra till appen
Bläddra till den distribuerade appen på (http://<app_name>.azurewebsites.net
). Det kan ta några minuter att läsa in appen. Om du får ett fel väntar du ytterligare ett par minuter och uppdaterar sedan webbläsaren.
Grattis! Du har skapat en app med flera containrar i Web App for Containers.
Rensa distribution
När exempelskriptet har körts kan följande kommando användas för att ta bort resursgruppen och alla resurser som är kopplade till den.
az group delete --name myResourceGroup
Nästa steg
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för