Bagikan melalui


Membuat aplikasi multi-kontainer (pratinjau) menggunakan konfigurasi Docker Compose

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. Mulai cepat ini menunjukkan cara menyebarkan aplikasi multi-kontainer (pratinjau) ke Web App untuk Kontainer di Cloud Shell menggunakan konfigurasi Docker Compose.

Aplikasi multi-kontainer sampel di Web App for Containers

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

Prasyarat

Artikel ini memerlukan versi 2.0.32 atau yang lebih baru dari Azure CLI. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.

Unduh sampel

Untuk mulai cepat ini, Anda menggunakan file tulis dari Docker. File konfigurasi dapat ditemukan di Sampel 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:

Di Cloud Shell, buat direktori mulai cepat lalu ubah ke direktori tersebut.

mkdir quickstart

cd $HOME/quickstart

Selanjutnya, jalankan perintah berikut untuk mengkloning repositori aplikasi sampel ke direktori mulai cepat 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, Azure CLI 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
}

Membuat aplikasi Docker Compose

Catatan

Docker Compose di Azure App Services saat ini memiliki batas 4.000 karakter saat dikonversi ke Base64 saat ini.

Di terminal Cloud Shell Anda, buat aplikasi web multi-kontainer di paket App Service myAppServicePlan dengan perintah az webapp create. Jangan lupa untuk mengganti <app_name> dengan nama aplikasi yang unik (karakter yang valid adalah a-z, 0-9, dan -).

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

Saat aplikasi web telah dibuat, Azure CLI menampilkan 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.

Aplikasi multi-kontainer sampel di Web App for Containers

Selamat, Anda telah membuat aplikasi multi-kontainer di Web App untuk Kontainer.

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