Tutorial: Membuat aplikasi multi-kontainer (pratinjau) di Web App untuk Kontainer

Catatan

Kontainer sidecar (pratinjau) akan berhasil aplikasi multi-kontainer di App Service. Untuk memulai, lihat Tutorial: Mengonfigurasi kontainer sidecar untuk kontainer kustom di Azure App Service (pratinjau).

Web App untuk Kontainer memberikan cara yang fleksibel untuk menggunakan gambar Docker. Dalam tutorial ini, Anda akan belajar cara membuat aplikasi multi-kontainer menggunakan WordPress dan MySQL. Anda akan menyelesaikan tutorial ini di Cloud Shell, tetapi Anda juga dapat menjalankan perintah ini secara lokal dengan alat baris perintah Azure CLI (2.0.32 atau yang lebih baru).

Dalam tutorial ini, Anda akan mempelajari cara:

  • Mengonversi konfigurasi Docker Compose agar berfungsi dengan Web App for Containers
  • Menyebarkan aplikasi multi-kontainer ke Azure
  • Menambahkan pengaturan aplikasi
  • Menggunakan penyimpanan persisten untuk kontainer Anda
  • Menyambungkan ke Azure Database for MySQL
  • Memecahkan masalah kesalahan

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan pengalaman dengan Docker Compose.

Unduh sampel

Untuk tutorial ini, Anda menggunakan file compose dari Docker, tetapi Anda akan memodifikasinya untuk menyertakan Azure Database for MySQL, penyimpanan persisten, dan Redis. File konfigurasi dapat ditemukan di Sampel Azure. Dalam sampel di bawah ini, perhatikan bahwa adalah opsi yang depends_ontidak didukung dan diabaikan. Untuk opsi konfigurasi yang didukung, lihat Opsi 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:

Di Cloud Shell, buat direktori tutorial, lalu ubah ke direktori tersebut.

mkdir tutorial

cd tutorial

Selanjutnya, jalankan perintah berikut untuk mengklon repositori aplikasi sampel ke direktori tutorial Anda. Kemudian ubah ke direktori multicontainerwordpress.

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

cd multicontainerwordpress

Buat grup sumber daya

Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure seperti aplikasi web, database, dan akun penyimpanan disebarkan dan dikelola. Misalnya, Anda dapat memilih untuk menghapus seluruh grup sumber daya dalam satu langkah sederhana nanti.

Di Cloud Shell, buat grup sumber daya dengan perintah az group create. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi US Tengah Selatan. Untuk melihat semua lokasi yang didukung untuk App Service di Linux pada tingkat Standar, jalankan perintah az appservice list-locations --sku S1 --linux-workers-enabled.

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

Anda biasanya membuat grup sumber daya dan sumber daya di wilayah sekitar Anda.

Saat perintah selesai, output JSON memperlihatkan kepada Anda properti grup sumber daya.

Membuat paket Azure App Service

Di Cloud Shell, buat paket App Service di grup sumber daya dengan perintah az appservice plan create.

Contoh berikut membuat paket App Service bernama myAppServicePlan pada tingkat harga Standar (--sku S1) dan di kontainer Linux (--is-linux).

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

Setelah paket App Service dibuat, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

{
  "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 dengan kontainer WordPress dan MySQL

Membuat aplikasi Docker Compose

Di Cloud Shell Anda, buat aplikasi web multi-kontainer di paket App Service myAppServicePlan dengan perintah az webapp create. Jangan lupa untuk mengganti <nama-aplikasi> dengan nama aplikasi yang unik.

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

Setelah aplikasi web dibuat, Cloud Shell memperlihatkan output yang mirip dengan contoh berikut:

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

Menelusuri aplikasi

Telusuri ke aplikasi yang disebarkan di (http://<app-name>.azurewebsites.net). Aplikasi mungkin perlu waktu beberapa menit untuk memuat. Jika Anda menerima kesalahan, diamkan beberapa menit, lalu refresh browser. Jika Anda mengalami masalah dan ingin memecahkan masalah, tinjau log kontainer.

Aplikasi multi-kontainer sampel di Web App for Containers

Selamat, Anda telah membuat aplikasi multi-kontainer di Web App untuk Kontainer. Selanjutnya Anda akan mengonfigurasi aplikasi untuk menggunakan Azure Database for MySQL. Jangan instal WordPress sekarang.

Menyambungkan ke database produksi

Sebaiknya jangan gunakan kontainer database di lingkungan produksi. Kontainer lokal tidak dapat diskalakan. Sebagai gantinya, Anda akan menggunakan Azure Database for MySQL yang dapat diskalakan.

Membuat server Azure Database for MySQL

Buat server Azure Database for MySQL dengan perintah az mysql server create.

Pada perintah berikut, ganti nama server MySQL Anda di mana Anda melihat tempat penampung <mysql-server-name> (karakter yang valid adalah a-z, 0-9, dan -). Nama ini adalah bagian dari nama host server MySQL (<mysql-server-name>.database.windows.net), harus unik secara global.

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

Penyelesaian pembuatan server dapat memerlukan waktu beberapa menit. Saat server MySQL dibuat, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

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

Mengonfigurasikan aturan firewall server

Buat aturan firewall untuk server MySQL Anda untuk mengizinkan koneksi klien menggunakan perintah az mysql server firewall-rule create. Saat IP awal dan IP akhir diatur ke 0.0.0.0, firewall hanya dibuka untuk sumber daya Azure lainnya.

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

Tip

Anda dapat lebih membatasi aturan firewall dengan hanya menggunakan alamat IP keluar yang digunakan aplikasi Anda.

Membuat database WordPress

az mysql db create --resource-group myResourceGroup --server-name <mysql-server-name> --name wordpress

Setelah database dibuat, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

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

Mengonfigurasi variabel database di WordPress

Untuk menghubungkan aplikasi WordPress ke server MySQL baru ini, Anda akan mengonfigurasi beberapa variabel lingkungan khusus WordPress, termasuk jalur SSL CA yang ditentukan oleh MYSQL_SSL_CA. Baltimore CyberTrust Root dari DigiCert diberikan dalam gambar kustom di bawah ini.

Untuk membuat perubahan ini, gunakan perintah az webapp config appsettings set di Cloud Shell. Pengaturan aplikasi peka huruf besar/kecil dan dipisahkan spasi.

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"

Setelah pengaturan aplikasi dibuat, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

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

Untuk informasi selengkapnya tentang variabel lingkungan, lihat Mengonfigurasi variabel lingkungan.

Menggunakan gambar kustom untuk TLS/SSL MySQL dan konfigurasi lainnya

Secara default, TLS/SSL digunakan oleh Azure Database for MySQL. WordPress memerlukan konfigurasi tambahan untuk menggunakan TLS/SSL dengan MySQL. 'Gambar resmi' WordPress tidak menyediakan konfigurasi tambahan, tetapi gambar kustom sudah disiapkan untuk kenyamanan Anda. Dalam praktiknya, Anda akan menambahkan perubahan yang diinginkan ke gambar Anda sendiri.

Gambar kustom didasarkan pada 'gambar resmi' WordPress dari Docker Hub. Perubahan berikut sudah dibuat pada gambar kustom ini untuk Azure Database for MySQL:

Perubahan berikut sudah dibuat untuk Redis (akan digunakan di bagian selanjutnya):

Untuk menggunakan gambar kustom, Anda akan memperbarui file docker-compose-wordpress.yml. Di Cloud Shell, buka editor teks dan ubah image: wordpress untuk menggunakan image: mcr.microsoft.com/azuredocs/multicontainerwordpress. Anda tidak lagi memerlukan kontainer database. Hapus bagian db, environment, depends_on, dan volumes dari file konfigurasi. File Anda akan terlihat seperti kode berikut:

version: '3.3'

services:
   wordpress:
     image: mcr.microsoft.com/azuredocs/multicontainerwordpress
     ports:
       - "8000:80"
     restart: always

Memperbarui aplikasi dengan konfigurasi baru

Di Cloud Shell, konfigurasi ulang aplikasi web multi-kontainer Anda dengan perintah az webapp config container set. Jangan lupa untuk mengganti <nama-aplikasi> dengan nama aplikasi web yang Anda buat sebelumnya.

az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml

Setelah aplikasi dikonfigurasi ulang, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

[
  {
    "name": "DOCKER_CUSTOM_IMAGE_NAME",
    "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICB3b3JkcHJlc3M6CiAgICAgaW1hZ2U6IG1zYW5nYXB1L3dvcmRwcmVzcwogICAgIHBvcnRzOgogICAgICAgLSAiODAwMDo4MCIKICAgICByZXN0YXJ0OiBhbHdheXM="
  }
]

Menelusuri aplikasi

Telusuri ke aplikasi yang disebarkan di (http://<app-name>.azurewebsites.net). Aplikasi sekarang menggunakan Azure Database for MySQL.

Aplikasi multikontainer sampel di Web App for Containers

Menambahkan penyimpanan persisten

Multi-kontainer Anda sekarang berjalan di Web App for Containers. Namun, jika Anda menginstal WordPress sekarang dan menghidupkan ulang aplikasi Anda nanti, Anda akan mendapati bahwa penginstalan WordPress Anda hilang. Ini terjadi karena konfigurasi Docker Compose Anda saat ini menunjuk ke lokasi penyimpanan di dalam kontainer Anda. File yang diinstal ke dalam kontainer Anda tidak bertahan setelah aplikasi dihidupkan ulang. Di bagian ini, Anda akan menambahkan penyimpanan persisten ke kontainer WordPress Anda.

Mengonfigurasi variabel lingkungan

Untuk menggunakan penyimpanan persisten, Anda akan mengaktifkan pengaturan ini dalam App Service. Untuk membuat perubahan ini, gunakan perintah az webapp config appsettings set di Cloud Shell. Pengaturan aplikasi peka huruf besar/kecil dan dipisahkan spasi.

az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE

Setelah pengaturan aplikasi dibuat, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

[
  < JSON data removed for brevity. >
  {
    "name": "WORDPRESS_DB_NAME",
    "slotSetting": false,
    "value": "wordpress"
  },
  {
    "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
    "slotSetting": false,
    "value": "TRUE"
  }
]

Mengubah file konfigurasi

Di Cloud Shell, buka file docker-compose-wordpress.yml di editor teks.

Opsi volumes memetakan sistem file ke direktori dalam kontainer. ${WEBAPP_STORAGE_HOME} adalah variabel lingkungan di App Service yang dipetakan ke penyimpanan persisten untuk aplikasi Anda. Anda akan menggunakan variabel lingkungan ini dalam opsi volume agar file WordPress diinstal ke penyimpanan persisten bukan ke kontainer. Lakukan modifikasi berikut pada file:

Di bagian wordpress, tambahkan opsi volumes agar terlihat seperti kode berikut:

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

Memperbarui aplikasi dengan konfigurasi baru

Di Cloud Shell, konfigurasi ulang aplikasi web multi-kontainer Anda dengan perintah az webapp config container set. Jangan lupa untuk mengganti <nama-aplikasi> dengan nama aplikasi yang unik.

az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml

Setelah perintah Anda berjalan, perintah akan memperlihatkan output yang mirip dengan contoh berikut:

[
  {
    "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
    "slotSetting": false,
    "value": "TRUE"
  },
  {
    "name": "DOCKER_CUSTOM_IMAGE_NAME",
    "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo="
  }
]

Menelusuri aplikasi

Telusuri ke aplikasi yang disebarkan di (http://<app-name>.azurewebsites.net).

Kontainer WordPress sekarang menggunakan Azure Database for MySQL dan penyimpanan persisten.

Menambahkan kontainer Redis

'Gambar resmi' WordPress tidak menyertakan dependensi untuk Redis. Dependensi ini dan konfigurasi tambahan yang diperlukan untuk menggunakan Redis dengan WordPress sudah disiapkan untuk Anda dalam gambar kustom ini. Dalam praktiknya, Anda akan menambahkan perubahan yang diinginkan ke gambar Anda sendiri.

Gambar kustom didasarkan pada 'gambar resmi' WordPress dari Docker Hub. Perubahan berikut sudah dibuat pada gambar kustom ini untuk Redis:

Tambahkan kontainer redis ke bagian bawah file konfigurasi agar terlihat seperti contoh berikut:

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

Mengonfigurasi variabel lingkungan

Untuk menggunakan Redis, Anda akan mengaktifkan pengaturan ini, WP_REDIS_HOST, dalam App Service. Ini adalah pengaturan wajib untuk WordPress agar dapat berkomunikasi dengan host Redis. Untuk membuat perubahan ini, gunakan perintah az webapp config appsettings set di Cloud Shell. Pengaturan aplikasi peka huruf besar/kecil dan dipisahkan spasi.

az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WP_REDIS_HOST="redis"

Setelah pengaturan aplikasi dibuat, Cloud Shell memperlihatkan informasi yang mirip dengan contoh berikut:

[
  < JSON data removed for brevity. >
  {
    "name": "WORDPRESS_DB_USER",
    "slotSetting": false,
    "value": "adminuser"
  },
  {
    "name": "WP_REDIS_HOST",
    "slotSetting": false,
    "value": "redis"
  }
]

Memperbarui aplikasi dengan konfigurasi baru

Di Cloud Shell, konfigurasi ulang aplikasi web multi-kontainer Anda dengan perintah az webapp config container set. Jangan lupa untuk mengganti <nama-aplikasi> dengan nama aplikasi yang unik.

az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml

Setelah perintah Anda berjalan, perintah akan memperlihatkan output yang mirip dengan contoh berikut:

[
  {
    "name": "DOCKER_CUSTOM_IMAGE_NAME",
    "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo="
  }
]

Menelusuri aplikasi

Telusuri ke aplikasi yang disebarkan di (http://<app-name>.azurewebsites.net).

Selesaikan langkah-langkah dan instal WordPress.

Menyambungkan WordPress ke Redis

Masuk ke admin WordPress. Di navigasi kiri, pilih Plugin, lalu pilih Plugin yang Diinstal.

Memilih Plugin WordPress

Menampilkan semua plugin di sini

Di halaman plugin, cari Redis Object Cache dan klik Aktifkan.

Mengaktifkan Redis

Klik Pengaturan.

Mengeklik Pengaturan

Klik tombol Aktifkan Cache Objek.

Mengeklik tombol 'Aktifkan Cache Objek'

WordPress menyambungkan ke server Redis. Status koneksi muncul di halaman yang sama.

WordPress terhubung ke server Redis. Status koneksi muncul di halaman yang sama.

Selamat, Anda sudah menyambungkan WordPress ke Redis. Aplikasi siap produksi sekarang menggunakan Azure Database for MySQL, penyimpanan persisten, dan Redis. Anda sekarang dapat meluaskan skala Paket App Service ke beberapa instans.

Mencari log Kontainer Docker

Jika Anda mengalami masalah saat menggunakan beberapa kontainer, Anda dapat mengakses log kontainer dengan menelusuri: https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Anda akan melihat output yang mirip dengan contoh berikut:

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

Anda melihat log untuk setiap kontainer dan log tambahan untuk proses induk. Salin nilai href masing-masing ke browser untuk melihat log.

Bersihkan penyebaran

Setelah skrip sampel dijalankan, perintah berikut dapat digunakan untuk menghapus grup sumber daya dan semua sumber daya yang terkait.

az group delete --name myResourceGroup

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara:

  • Mengonversi konfigurasi Docker Compose agar berfungsi dengan Web App for Containers
  • Menyebarkan aplikasi multi-kontainer ke Azure
  • Menambahkan pengaturan aplikasi
  • Menggunakan penyimpanan persisten untuk kontainer Anda
  • Menyambungkan ke Azure Database for MySQL
  • Memecahkan masalah kesalahan

Lanjutkan ke tutorial berikutnya untuk mempelajari cara mengamankan aplikasi Anda dengan domain dan sertifikat kustom.

Atau, lihat sumber daya lainnya: