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.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
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.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk