أنشئ تطبيقاً متعدد الحاويات (معاينة) باستخدام تهيئة Docker Compose
إشعار
ستنجح حاويات Sidecar (معاينة) في تطبيقات متعددة الحاويات في App Service. للبدء، راجع البرنامج التعليمي: تكوين حاوية sidecar للحاوية المخصصة في Azure App Service (معاينة).
يوفر تطبيق الويب للحاوياتطريقة مرنة لاستخدام صور Docker. يوضح هذا Quickstart كيفية نشر تطبيق متعدد الحاويات (معاينة) لتطبيق Web App للحاويات في Cloud Shell باستخدام تكوين Docker Compose.
إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
تتطلب هذه المقالة الإصدار 2.0.32 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.
تنزيل العينة
بالنسبة إلى هذا التشغيل السريع، يمكنك استخدام ملف الإنشاء من Docker. يمكن العثور على ملف التكوين في عينات 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:
في Cloud Shell، قم بإنشاء دليل التشغيل السريع ثم انتقل إليه.
mkdir quickstart
cd $HOME/quickstart
بعد ذلك، قم بتشغيل الأمر التالي لاستنساخ نموذج مستودع التطبيق إلى دليل التشغيل السريع الخاص بك. ثم غيّر إلى multicontainerwordpress
الدليل.
git clone https://github.com/Azure-Samples/multicontainerwordpress
cd multicontainerwordpress
إنشاء مجموعة موارد
مجموعة الموارد هي حاوية منطقية يتم فيها نشر موارد Azure وإدارتها، مثل تطبيقات الويب وقواعد البيانات وحسابات التخزين. على سبيل المثال، يمكنك اختيار حذف مجموعة الموارد بأكملها في خطوة واحدة بسيطة لاحقاً.
في Cloud Shell، أنشئ مجموعة موارد باستخدام الأمر az group create
. ينشئ المثال التالي مجموعة موارد تسمى myResourceGroup في منطقة جنوب وسط الولايات المتحدة. لمشاهدة جميع المواقع المدعومة لخدمة التطبيقات على Linux في المستوى القياسي، قم بتشغيلaz appservice list-locations --sku S1 --linux-workers-enabled
الأمر.
az group create --name myResourceGroup --location "South Central US"
يمكنك بشكل عام إنشاء مجموعة مواردك والموارد في منطقة قريبة منك.
عند انتهاء الأمر، يظهر لك إخراج JSON خصائص مجموعة الموارد.
إنشاء خطة خدمة تطبيق Azure
في Cloud Shell، أنشئ خطة خدمة التطبيق في مجموعة الموارد باستخدام الأمر az appservice plan create
.
ينشئ المثال التالي خطة خدمة التطبيق المسماة myAppServicePlan
في مستويات التسعير القياسي(--sku S1
) وفي حاوية Linux (--is-linux
).
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku S1 --is-linux
عند إنشاء خطة خدمة التطبيق، يعرض Azure CLI معلومات مشابهة للمثال التالي:
{ "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
إشعار
يحتوي Docker Compose على Azure App Services حاليا على حد 4000 حرف عند تحويله إلى Base64 في هذا الوقت.
في محطة Cloud Shell الطرفية، أنشئ تطبيق ويب متعدد الحاويات في myAppServicePlan
خطة خدمة التطبيق باستخدام الأمر az webapp create. لا تنس استبدال <app_name> باسم تطبيق فريد (الأحرف الصالحة هي a-z
، و0-9
، و-
).
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml
عند إنشاء تطبيق ويب، يعرض Azure CLI الإخراج مشابهًا للمثال التالي:
{ "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. > }
استعرض التطبيق
استعراض للوصول إلى التطبيق المنشور على (http://<app_name>.azurewebsites.net
). قد يستغرق تحميل التطبيق بضع دقائق. إذا تلقيت خطأ، فانتظر بضع دقائق إضافية ثم قم بتحديث المستعرض.
تهانينا، لقد أنشأت تطبيقاً متعدد الحاويات في تطبيق الويب للحاويات.
تنظيف النشر
بعد تشغيل نموذج البرنامج النصي، يمكن استخدام الأمر التالي لإزالة مجموعة الموارد وكافة الموارد المقترنة بها.
az group delete --name myResourceGroup
الخطوات التالية
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ