كيف أصمم هيكل دوكر لتثبيت عدة خدمات مختلفة على نفس الخادم؟

السلام عليكم،
لدي خادم خاص VPS وأريد تثبيت عدد من البرمجيات مثل Wordpress (أكثر من موقع) و Nextcloud و برمجيات من تطويري وغيرها ،، وكل منها لديه نطاق رئيسي أو فرعي. وجميعها يعمل خلف Cloudflare

ليس لدي معرفة جيدة بالحاويات ، فما أعتقده الآن هو أنني يجب أن أكتب ملف docker-compose.yml لكل برمجية أو موقع وردبرس بشكل مستقل ، وأن أقوم بتثبيت حاوية nginx مستقلة وأكتب ملف conf خاص بكل موقع أو برنامج ، بحيث يقوم nginx بإعادة تحويل طلبات HTTP الواردة إلى البرنامج المناسب استنادا إلى host header.

وبالنسبة لحالة وجود أكثر من خدمة تستخدم نفس قواعد البيانات مثل وردبرس تستخدم MySQL ، ففي تلك الحالة هل أقوم بإنشاء حاوية Mysql مستقلة وأنشئ قاعدة بيانات مستقلة لكل خدمة مستفيدة ؟ أم أثبت حاوية Mysql مع كل حاوية وردبرس لكل موقع على حدة ؟ هل هذا أفضل من ناحية الأمان بحيث إذا تم اختراق موقع بثغرة sqli مثلا فلا يستطيع المهاجم الوصول لباقي قواعد البيانات ؟

أمر آخر ، ما رأيكم في Portainer ؟ أنا قمت بتثبيته ولم أفهم شيئا للأسف :sweat_smile:

إعجاب واحد (1)

هذا بالضبط.
ولا تحتاج لعمل config يدوي لكل خدمة, هناك حاويات تقوم بالاتصال مباشرة وعمل proxy دون الحاجة لكتاب config يدوي, مثل Nginx-proxy

الاثنين ممكن, إنشاء حاوية منفصله لكل خدمة يسهل الصيانة والنسخ, لان باختصار النسخ الاحتياطي سوف يكون نسخ كامل ملفات Volumes او عمل Dumbb لقاعدة البيانات الكاملة.
لكن سيكون استخدام الموارد طبعا اكثر, فعلى حسب اذا كانت الموارد فعلا قليله اجعلها داخل حاوية واحدة وأنشئ عدة قواعد بيانات داخلها.
ايضا انصحك تستخدم MariaDB بدلا MySql.

Portainer واجهه رسومية لDocker, وهي محدودة ببعض الأشياء حتى تشترك بالخدمة المدفوعة.
عن نفسي انصحك بالتعلم على Docker compose و Docker مباشرة, فهي المعرفة الحقيقية, وبعدها بإمكانك تستخدم اي واجهه رسومية تريدها, فهي كلها تعتمد على نفس الأفكار, ونفس الميزات اذا كانت تعتمد على Docker.

إعجاب واحد (1)

جزاك الله خيرا ، منذ سنوات وأنا أؤجل تعلم دوكر ، لكن أعتقد حان الوقت لتعلمها برغم ضيق الوقت :neutral_face:

إعجاب واحد (1)