Udostępnij za pośrednictwem


Tworzenie aplikacji z wieloma kontenerami (w wersji zapoznawczej) przy użyciu konfiguracji narzędzia Docker Compose

Uwaga

Kontenery przyczepki (wersja zapoznawcza) będą pomyślnie obsługiwać aplikacje z wieloma kontenerami w usłudze App Service. Aby rozpocząć, zobacz Samouczek: konfigurowanie kontenera przyczepki dla kontenera niestandardowego w usłudze aplikacja systemu Azure Service (wersja zapoznawcza).

Funkcja Web App for Containers oferuje elastyczny sposób korzystania z obrazów platformy Docker. W tym przewodniku Szybki start pokazano, jak wdrożyć aplikację z wieloma kontenerami (wersja zapoznawcza) w usłudze Web App for Containers w usłudze Cloud Shell przy użyciu konfiguracji narzędzia Docker Compose.

Przykładowa aplikacja wielokontenerowa funkcji Web App for Containers

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

Ten artykuł wymaga wersji 2.0.32 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.

Pobierz przykład

W tym przewodniku Szybki Start używany jest plik Compose usługi Docker. Plik konfiguracji można znaleźć na stronie z przykładami dla platformy Azure.

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:

W usłudze Cloud Shell utwórz katalog Szybki start, a następnie przejdź do niego.

mkdir quickstart

cd $HOME/quickstart

Uruchom następujące polecenie, aby sklonować przykładowe repozytorium aplikacji na komputer lokalny. Następnie zmień katalog na multicontainerwordpress.

git clone https://github.com/Azure-Samples/multicontainerwordpress

cd multicontainerwordpress

Tworzenie grupy zasobów

Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby platformy Azure, takie jak aplikacje internetowe, bazy danych i konta magazynu. Na przykład można później usunąć całą grupę zasobów w jednym prostym kroku.

W usłudze Cloud Shell utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji Południowo-środkowe stany USA. Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service w systemie Linux w warstwie Standardowa, uruchom polecenie az appservice list-locations --sku S1 --linux-workers-enabled.

az group create --name myResourceGroup --location "South Central US"

Zasadniczo grupy zasobów i zasoby są tworzone w pobliskim regionie.

Po zakończeniu działania polecenia zostaną wyświetlone dane wyjściowe JSON z właściwościami grupy zasobów.

Tworzenie planu usługi Azure App Service

W usłudze Cloud Shell utwórz plan usługi App Service w grupie zasobów za pomocą polecenia az appservice plan create.

Poniższy przykład tworzy plan usługi App Service o nazwie myAppServicePlan przy użyciu warstwy cenowej Standardowa (--sku S1) w kontenerze systemu Linux (--is-linux).

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku S1 --is-linux

Po utworzeniu planu usługi App Service interfejs wiersza polecenia platformy Azure wyświetli informacje podobne do następujących:

{
  "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
}

Tworzenie aplikacji narzędzia Docker Compose

Uwaga

Program Docker Compose w usługach aplikacja systemu Azure obecnie ma limit 4000 znaków podczas konwersji na base64 w tej chwili.

W terminalu usługi Cloud Shell utwórz wielokontenerową aplikację internetową w ramach planu usługi App Service myAppServicePlan, używając polecenia az webapp create. Nie zapomnij zastąpić <app_name> unikatową nazwą aplikacji (prawidłowe znaki to a-z, 0-9i -).

az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml

Po utworzeniu aplikacji internetowej w interfejsie wiersza polecenia platformy Azure zostaną wyświetlone dane wyjściowe podobne do następujących:

{
  "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. >
}

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji pod adresem http://<app_name>.azurewebsites.net. Ładowanie aplikacji może potrwać kilka minut. Jeśli wystąpi błąd, zaczekaj jeszcze kilka minut, a następnie odśwież przeglądarkę.

Przykładowa aplikacja wielokontenerowa funkcji Web App for Containers

Gratulacje, udało Ci się utworzyć aplikację wielokontenerową funkcji Web App for Containers.

Czyszczenie wdrożenia

Po wykonaniu przykładowego skryptu możesz uruchomić następujące polecenie, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby.

az group delete --name myResourceGroup

Następne kroki