Samouczek: Tworzenie aplikacji wielokontenerowej (w wersji zapoznawczej) przy użyciu funkcji Web App for Containers
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. Z tego samouczka dowiesz się, jak utworzyć aplikację wielokontenerową przy użyciu rozwiązań WordPress i MySQL. Użyjesz tego samouczka w usłudze Cloud Shell, ale możesz również uruchomić te polecenia lokalnie za pomocą narzędzia wiersza polecenia interfejsu wiersza polecenia platformy Azure (w wersji 2.0.32 lub nowszej).
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Konwertowanie konfiguracji narzędzia Docker Compose do użycia z funkcją Web App for Containers
- Wdrażanie aplikacji wielokontenerowej na platformie Azure
- Dodawanie ustawień aplikacji
- Używanie magazynu trwałego na potrzeby kontenerów
- Nawiązywanie połączenia z usługą Azure Database for MySQL
- Rozwiązywanie problemów
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Do ukończenia tego samouczka potrzebne jest doświadczenie w pracy z aplikacją Docker Compose.
Pobierz przykład
Na potrzeby tego samouczka użyjesz pliku compose z platformy Docker, ale zmodyfikujesz go tak, aby zawierał usługę Azure Database for MySQL, magazyn trwały i usługę Redis. Plik konfiguracji można znaleźć na stronie z przykładami dla platformy Azure. W poniższym przykładzie zwróć uwagę, że depends_on
jest to nieobsługiwana opcja i jest ignorowana. Aby uzyskać informacje o obsługiwanych opcjach konfiguracji, zobacz Opcje narzędzia Docker Compose.
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 samouczka, a następnie przejdź do niego.
mkdir tutorial
cd tutorial
Uruchom następujące polecenie, aby sklonować przykładowe repozytorium aplikacji do katalogu samouczka. 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 usługa Cloud Shell 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 }
Narzędzie Docker Compose z kontenerami WordPress i MySQL
Tworzenie aplikacji narzędzia Docker Compose
W usłudze 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ć <nazwy> aplikacji unikatową nazwą aplikacji.
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml
Po utworzeniu aplikacji internetowej w usłudze Cloud Shell 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ę. Jeśli występują problemy i chcesz je rozwiązać, sprawdź dzienniki kontenera.
Gratulacje, udało Ci się utworzyć aplikację wielokontenerową funkcji Web App for Containers. Następnie skonfigurujesz aplikację do użycia usługi Azure Database for MySQL. Na razie nie instaluj rozwiązania WordPress.
Nawiązywanie połączenia z produkcyjną bazą danych
Używanie kontenerów baz danych w środowisku produkcyjnym jest niezalecane. Kontenery lokalne nie są skalowalne. Zamiast tego użyjesz usługi Azure Database for MySQL, która jest skalowalna.
Tworzenie serwera usługi Azure Database for MySQL
Utwórz serwer usługi Azure Database for MySQL, używając polecenia az mysql server create
.
W poniższym poleceniu zastąp nazwę serwera MySQL, gdzie zostanie wyświetlony symbol zastępczy mysql-server-name> (prawidłowe znaki to a-z
, 0-9
i -
).< Ta nazwa jest częścią nazwy hosta serwera MySQL (<mysql-server-name>.database.windows.net
) i musi być unikatowa w skali globalnej.
az mysql server create --resource-group myResourceGroup --name <mysql-server-name> --location "South Central US" --admin-user adminuser --admin-password My5up3rStr0ngPaSw0rd! --sku-name B_Gen5_1 --version 5.7
Tworzenie serwera może potrwać kilka minut. Po utworzeniu serwera MySQL w usłudze Cloud Shell zostaną wyświetlone informacje podobne do następujących:
{ "administratorLogin": "adminuser", "administratorLoginPassword": null, "fullyQualifiedDomainName": "<mysql-server-name>.database.windows.net", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DBforMySQL/servers/<mysql-server-name>", "location": "southcentralus", "name": "<mysql-server-name>", "resourceGroup": "myResourceGroup", ... }
Konfigurowanie zapory serwera
Przy użyciu polecenia az mysql server firewall-rule create
utwórz regułę zapory dla serwera MySQL, aby zezwolić na połączenia klientów. Po ustawieniu początkowego i końcowego adresu IP na 0.0.0.0 zapora będzie otwierana tylko dla innych zasobów platformy Azure.
az mysql server firewall-rule create --name allAzureIPs --server <mysql-server-name> --resource-group myResourceGroup --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
Napiwek
Reguła zapory może być jeszcze bardziej restrykcyjna, jeśli zostaną użyte tylko adresy IP dla ruchu wychodzącego używane przez aplikację.
Tworzenie bazy danych WordPress
az mysql db create --resource-group myResourceGroup --server-name <mysql-server-name> --name wordpress
Po utworzeniu bazy danych w usłudze Cloud Shell zostaną wyświetlone informacje podobne do następujących:
{ "additionalProperties": {}, "charset": "latin1", "collation": "latin1_swedish_ci", "id": "/subscriptions/12db1644-4b12-4cab-ba54-8ba2f2822c1f/resourceGroups/myResourceGroup/providers/Microsoft.DBforMySQL/servers/<mysql-server-name>/databases/wordpress", "name": "wordpress", "resourceGroup": "myResourceGroup", "type": "Microsoft.DBforMySQL/servers/databases" }
Konfigurowanie zmiennych bazy danych w rozwiązaniu WordPress
Aby połączyć aplikację WordPress z nowym serwerem MySQL, należy skonfigurować kilka zmiennych środowiskowych właściwych dla rozwiązania WordPress, w tym ścieżkę urzędu certyfikacji SSL, definiowaną przez zmienną MYSQL_SSL_CA
. Poniższy obraz niestandardowy zawiera urząd Baltimore CyberTrust Root firmy DigiCert.
Aby wprowadzić te zmiany, uruchom polecenie az webapp config appsettings set w usłudze Cloud Shell. Ustawienia aplikacji są rozdzielane spacjami i rozróżniana jest w nich wielkość liter.
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WORDPRESS_DB_HOST="<mysql-server-name>.mysql.database.azure.com" WORDPRESS_DB_USER="adminuser" WORDPRESS_DB_PASSWORD="My5up3rStr0ngPaSw0rd!" WORDPRESS_DB_NAME="wordpress" MYSQL_SSL_CA="BaltimoreCyberTrustroot.crt.pem"
Po utworzeniu ustawień aplikacji w usłudze Cloud Shell zostaną wyświetlone informacje podobne do następujących:
[ { "name": "WORDPRESS_DB_HOST", "slotSetting": false, "value": "<mysql-server-name>.mysql.database.azure.com" }, { "name": "WORDPRESS_DB_USER", "slotSetting": false, "value": "adminuser" }, { "name": "WORDPRESS_DB_NAME", "slotSetting": false, "value": "wordpress" }, { "name": "WORDPRESS_DB_PASSWORD", "slotSetting": false, "value": "My5up3rStr0ngPaSw0rd!" }, { "name": "MYSQL_SSL_CA", "slotSetting": false, "value": "BaltimoreCyberTrustroot.crt.pem" } ]
Aby uzyskać więcej informacji na temat zmiennych środowiskowych, zobacz Konfigurowanie zmiennych środowiskowych.
Używanie obrazu niestandardowego dla protokołu TLS/SSL mySQL i innych konfiguracji
Domyślnie protokół TLS/SSL jest używany przez usługę Azure Database for MySQL. Platforma WordPress wymaga dodatkowej konfiguracji do używania protokołu TLS/SSL z programem MySQL. "Oficjalny obraz" WordPress nie zapewnia dodatkowej konfiguracji, ale obraz niestandardowy został przygotowany dla Twojej wygody. W praktyce możesz dodać wymagane zmiany do własnego obrazu.
Ten obraz niestandardowy został utworzony na podstawie „oficjalnego obrazu” rozwiązania WordPress, dostępnego w witrynie Docker Hub. W obrazie niestandardowym na potrzeby usługi Azure Database for MySQL wprowadzono następujące zmiany:
- Dodano plik certyfikatu SLL Baltimore Cyber Trust Root do usługi MySQL.
- Użyto ustawienia aplikacji dotyczącego certyfikatu SSL urzędu certyfikacji dla usługi MySQL w pliku wp-config.php rozwiązania WordPress.
- Dodano definicję zmiennej MYSQL_CLIENT_FLAGS dla rozwiązania WordPress, wymaganą przez protokół SSL w usłudze MySQL.
Wprowadzono następujące zmiany na potrzeby usługi Redis (potrzebne w kolejnej sekcji):
- Dodano rozszerzenie PHP dla usługi Redis w wersji 4.0.2.
- Dodano operację unzip na potrzeby wyodrębniania plików.
- Dodano wtyczkę Redis Object Cache 1.3.8 dla rozwiązania WordPress.
- Użyto ustawienia aplikacji dotyczącego nazwy hosta usługi Redis w pliku wp-config.php rozwiązania WordPress.
Aby użyć obrazu niestandardowego, należy zaktualizować plik docker-compose-wordpress.yml. W usłudze Cloud Shell otwórz edytor tekstów i zmień element image: wordpress
, aby używać polecenia image: mcr.microsoft.com/azuredocs/multicontainerwordpress
. Kontener bazy danych nie będzie już potrzebny. Usuń sekcje db
, environment
, depends_on
i volumes
z pliku konfiguracji. Zawartość pliku powinna wyglądać podobnie do następującego kodu:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
ports:
- "8000:80"
restart: always
Aktualizowanie aplikacji przy użyciu nowej konfiguracji
W usłudze Cloud Shell zmień konfigurację wielokontenerowej aplikacji internetowej, używając polecenia az webapp config container set. Nie zapomnij zastąpić <nazwy aplikacji nazwą> utworzonej wcześniej aplikacji internetowej.
az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml
Po zmianie konfiguracji aplikacji internetowej usługa Cloud Shell wyświetli informacje podobne do następujących:
[ { "name": "DOCKER_CUSTOM_IMAGE_NAME", "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICB3b3JkcHJlc3M6CiAgICAgaW1hZ2U6IG1zYW5nYXB1L3dvcmRwcmVzcwogICAgIHBvcnRzOgogICAgICAgLSAiODAwMDo4MCIKICAgICByZXN0YXJ0OiBhbHdheXM=" } ]
Przechodzenie do aplikacji
Przejdź do wdrożonej aplikacji pod adresem http://<app-name>.azurewebsites.net
. Aplikacja korzysta teraz z usługi Azure Database for MySQL.
Dodawanie magazynu trwałego
Twoja aplikacja wielokontenerowa działa teraz w funkcji Web App for Containers. Jeśli jednak teraz zainstalujesz rozwiązanie WordPress, a później ponownie uruchomisz aplikację, nie znajdziesz instalacji rozwiązania WordPress. Dzieje się tak, ponieważ konfiguracja narzędzia Docker Compose aktualnie wskazuje lokalizację magazynu wewnątrz kontenera. Pliki zainstalowane w kontenerze są zachowywane tylko do momentu ponownego uruchomienia aplikacji. W tej sekcji dodasz magazyn trwały do kontenera WordPress.
Skonfiguruj zmienne środowiskowe
Aby użyć magazynu trwałego, włączysz to ustawienie w usłudze App Service. Aby wprowadzić tę zmianę, uruchom polecenie az webapp config appsettings set w usłudze Cloud Shell. Ustawienia aplikacji są rozdzielane spacjami i rozróżniana jest w nich wielkość liter.
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE
Po utworzeniu ustawień aplikacji w usłudze Cloud Shell zostaną wyświetlone informacje podobne do następujących:
[ < JSON data removed for brevity. > { "name": "WORDPRESS_DB_NAME", "slotSetting": false, "value": "wordpress" }, { "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE", "slotSetting": false, "value": "TRUE" } ]
Modyfikowanie pliku konfiguracji
W usłudze Cloud Shell otwórz plik docker-compose-wordpress.yml
w edytorze tekstów.
Opcja volumes
mapuje system plików na katalog w kontenerze. ${WEBAPP_STORAGE_HOME}
to zmienna środowiskowa w usłudze App Service mapowana na magazyn trwały aplikacji. Użyjesz tej zmiennej środowiskowej w opcji „volumes”, aby pliki rozwiązania WordPress były instalowane w magazynie trwałym, a nie w kontenerze. Wprowadź poniższe zmiany do pliku:
W sekcji wordpress
dodaj opcję volumes
zgodnie z poniższym kodem:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
volumes:
- ${WEBAPP_STORAGE_HOME}/site/wwwroot:/var/www/html
ports:
- "8000:80"
restart: always
Aktualizowanie aplikacji przy użyciu nowej konfiguracji
W usłudze Cloud Shell zmień konfigurację wielokontenerowej aplikacji internetowej, używając polecenia az webapp config container set. Nie zapomnij zastąpić <nazwy> aplikacji unikatową nazwą aplikacji.
az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml
Po uruchomieniu polecenia zostaną wyświetlone dane wyjściowe podobne do poniższych:
[ { "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE", "slotSetting": false, "value": "TRUE" }, { "name": "DOCKER_CUSTOM_IMAGE_NAME", "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo=" } ]
Przechodzenie do aplikacji
Przejdź do wdrożonej aplikacji pod adresem http://<app-name>.azurewebsites.net
.
Kontener WordPress korzysta teraz z usługi Azure Database for MySQL i magazynu trwałego.
Dodawanie kontenera Redis
„Oficjalny obraz” rozwiązania WordPress nie zawiera zależności wymaganych na potrzeby usługi Redis. Ten obraz niestandardowy został przygotowany z uwzględnieniem tych zależności i dodatkowej konfiguracji wymaganej do korzystania z usługi Redis z rozwiązaniem WordPress. W praktyce możesz dodać wymagane zmiany do własnego obrazu.
Ten obraz niestandardowy został utworzony na podstawie „oficjalnego obrazu” rozwiązania WordPress, dostępnego w witrynie Docker Hub. W obrazie niestandardowym na potrzeby usługi Redis wprowadzono następujące zmiany:
- Dodano rozszerzenie PHP dla usługi Redis w wersji 4.0.2.
- Dodano operację unzip na potrzeby wyodrębniania plików.
- Dodano wtyczkę Redis Object Cache 1.3.8 dla rozwiązania WordPress.
- Użyto ustawienia aplikacji dotyczącego nazwy hosta usługi Redis w pliku wp-config.php rozwiązania WordPress.
Dodaj kontener Redis na końcu pliku konfiguracji, zgodnie z następującym przykładem:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
ports:
- "8000:80"
restart: always
redis:
image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
environment:
- ALLOW_EMPTY_PASSWORD=yes
restart: always
Skonfiguruj zmienne środowiskowe
Aby używać usługi Redis, należy włączyć ustawienie WP_REDIS_HOST
w usłudze App Service. Jest to ustawienie wymagane w celu umożliwienia komunikacji rozwiązania WordPress z hostem usługi Redis. Aby wprowadzić tę zmianę, uruchom polecenie az webapp config appsettings set w usłudze Cloud Shell. Ustawienia aplikacji są rozdzielane spacjami i rozróżniana jest w nich wielkość liter.
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WP_REDIS_HOST="redis"
Po utworzeniu ustawień aplikacji w usłudze Cloud Shell zostaną wyświetlone informacje podobne do następujących:
[ < JSON data removed for brevity. > { "name": "WORDPRESS_DB_USER", "slotSetting": false, "value": "adminuser" }, { "name": "WP_REDIS_HOST", "slotSetting": false, "value": "redis" } ]
Aktualizowanie aplikacji przy użyciu nowej konfiguracji
W usłudze Cloud Shell zmień konfigurację wielokontenerowej aplikacji internetowej, używając polecenia az webapp config container set. Nie zapomnij zastąpić <nazwy> aplikacji unikatową nazwą aplikacji.
az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml
Po uruchomieniu polecenia zostaną wyświetlone dane wyjściowe podobne do poniższych:
[ { "name": "DOCKER_CUSTOM_IMAGE_NAME", "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo=" } ]
Przechodzenie do aplikacji
Przejdź do wdrożonej aplikacji pod adresem http://<app-name>.azurewebsites.net
.
Wykonaj odpowiednie czynności i zainstaluj rozwiązanie WordPress.
Łączenie rozwiązania WordPress z usługą Redis
Zaloguj się do administratora platformy WordPress. W obszarze nawigacji po lewej stronie wybierz pozycję Wtyczki, a następnie wybierz pozycję Zainstalowane wtyczki.
Pokaż wszystkie wtyczki
Na stronie Plugins (Wtyczki) znajdź wtyczkę Redis Object Cache i kliknij przycisk Activate (Aktywuj).
Kliknij pozycję Settings (Ustawienia).
Kliknij przycisk Enable Object Cache (Włącz usługę Object Cache).
Rozwiązanie WordPress połączy się z serwerem usługi Redis. Stan połączenia jest widoczny na tej samej stronie.
Gratulacje, udało Ci się połączyć rozwiązanie WordPress z usługą Redis. Aplikacja gotowa do produkcji korzysta teraz z usługi Azure Database for MySQL, magazynu trwałego i usługi Redis. Możesz teraz skalować swój plan usługi App Service na wiele wystąpień.
Znajdowanie dzienników kontenerów platformy Docker
Jeśli podczas korzystania z wielu kontenerów wystąpią problemy, możesz wyświetlić dzienniki kontenerów, przechodząc do lokalizacji https://<app-name>.scm.azurewebsites.net/api/logs/docker
.
Zostaną wyświetlone dane wyjściowe podobne do następujących:
[ { "machineName":"RD00XYZYZE567A", "lastUpdated":"2018-05-10T04:11:45Z", "size":25125, "href":"https://<app-name>.scm.azurewebsites.net/api/vfs/LogFiles/2018_05_10_RD00XYZYZE567A_docker.log", "path":"/home/LogFiles/2018_05_10_RD00XYZYZE567A_docker.log" } ]
Zobaczysz jeden dziennik dla każdego kontenera oraz dodatkowy dziennik procesu nadrzędnego. Skopiuj odpowiednią wartość href
do przeglądarki, aby wyświetlić dziennik.
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
W tym samouczku zawarto informacje na temat wykonywania następujących czynności:
- Konwertowanie konfiguracji narzędzia Docker Compose do użycia z funkcją Web App for Containers
- Wdrażanie aplikacji wielokontenerowej na platformie Azure
- Dodawanie ustawień aplikacji
- Używanie magazynu trwałego na potrzeby kontenerów
- Nawiązywanie połączenia z usługą Azure Database for MySQL
- Rozwiązywanie problemów
Przejdź do następnego samouczka, aby dowiedzieć się, jak zabezpieczyć aplikację przy użyciu domeny niestandardowej i certyfikatu.
Możesz też zapoznać się z innymi zasobami: