برمجة وتطوير

تجربتي مع Docker في بيئة التطوير

حسام الدين علي · برمجة وتطوير
أردت أن أشارككم تجربتي الأخيرة مع Docker في إعداد بيئة التطوير لمشاريعي. بعد سنوات من التعامل مع تعارضات إصدارات PHP وقواعد البيانات المختلفة، قررت الانتقال كلياً إلى Docker Compose. كان الأمر صعباً في البداية، لكن بمجرد أن فهمت الأساسيات، أصبح إعداد أي مشروع جديد أسهل بكثير. أصبحت أمتلك بيئة متسقة…أردت أن أشارككم تجربتي الأخيرة مع Docker في إعداد بيئة التطوير لمشاريعي. بعد سنوات من التعامل مع تعارضات إصدارات PHP وقواعد البيانات المختلفة، قررت الانتقال كلياً إلى Docker Compose. كان الأمر صعباً في البداية، لكن بمجرد أن فهمت الأساسيات، أصبح إعداد أي مشروع جديد أسهل بكثير. أصبحت أمتلك بيئة متسقة بغض النظر عن نظام التشغيل الذي أعمل عليه. أوصي بشدة لكل مطور باستخدام Docker، فهو يوفر الكثير من الوقت والمشاكل. ما هي أفضل الممارسات التي تتبعونها في ملفات docker-compose.yml الخاصة بكم؟
80 20 تعليق 12 مشاركة 382 مشاهدة
تعليق

التعليقات (20)

يمكنك قراءة كل التعليقات بحرية، لكن الكتابة والتفاعل يحتاجان تسجيل الدخول.

يوسف جمال منذ 15 ساعة

مقولتك 'بيئة متسقة بغض النظر عن نظام التشغيل' دي بالظبط اللي كنت محتاجها. جاري التجربة فوراً!

👍 11 😮 5 🤗 2
كريم منصور منذ 15 ساعة

هل جربت Kubernetes بعد الدوكر؟ الانتقال بيكون أسهل بكثير بعد ما تكون فاهم مبادئ الكونتينرات.

👍 7 ❤️ 7 🤗 3
سلمى بناني سلمى بناني منذ 15 ساعة

كلامك صحيح 100%. المشكلة الوحيدة اللي قابلتني كانت مع الـ permissions على المجلدات المشتركة بين الهوست والكونتينر، خصوصاً في لينكس.

👍 5 ❤️ 5 🤗 1
ريم عبدالله ريم عبدالله منذ 15 ساعة

أنا أرى أن أفضل ممارسة هي استخدام alpine images حيثما أمكن لتقليل حجم الصور وتسريع البناء.

👍 7 🤗 2 😮 2
طارق فهمي منذ 15 ساعة

صراحة، الدوكر سهل علي كثير لما اشتغلت على مشروع فيه Microservices. كان كابوس قبل ما أستخدمه.

👍 8 😮 3 ❤️ 2
يوسف الشريف يوسف الشريف منذ 15 ساعة

هل تستخدم network مخصصة بين الخدمات في الـ docker-compose ولا بتعتمد على الـ default bridge؟ أيها أفضل للـ performance؟

👍 6 😮 3 🤗 2
دينا شريف منذ 15 ساعة

من أفضل الممارسات اللي أتبعها هي فصل ملف docker-compose.yml لبيئات مختلفة، مثل development.yml و production.yml لمرونة أكبر.

👍 5 ❤️ 3 🤗 1
أحمد السيد أحمد السيد منذ 16 ساعة

جميل جداً. أنا أواجه مشكلة حالياً في ربط الكونتينر بالـ IDE عندي (VS Code) عشان أعمل debug، هل عندك فكرة عن أفضل طريقة لعمل ذلك؟

👍 11 ❤️ 2 🤗 1
سارة منصور منذ 15 ساعة

بالنسبة لسؤالك عن الـ debug في VS Code، لازم تكون عامل mount لمجلد المشروع داخل الكونتينر ومثبت Xdebug ومعدل إعداداته صح.

👍 7 ❤️ 5 🤗 2
ياسمين النجار منذ 16 ساعة

النصيحة اللي أقدر أقدمها: لا تحاول تخلي كل شيء داخل الكونتينر. بعض الأشياء مثل IDE ما لها داعي تكون م dockerized.

👍 7 ❤️ 2 😮 2
فاطمة الزهراء منذ 16 ساعة

أنا شخصياً بستخدم Portainer لمراقبة وإدارة الكونتينرات، بيوفر واجهة رسومية ممتازة.

👍 6 ❤️ 3 😮 3
هدى سليمان هدى سليمان منذ 16 ساعة

أرى أن الإيجابية المبالغ فيها أحياناً تخفي عيوباً. الدوكر رائع ولكن له منحنى تعلم حاد ويستهلك موارد جهاز لا بأس بها خصوصاً في المشاريع الكبيرة.

👍 2 ❤️ 1
منة الله أحمد منذ 16 ساعة

بالنسبة لموارد الجهاز اللي ذكرتها، ممكن تفرق على حسب إعدادات الكونتينر وكمية الذاكرة والمعالج اللي بتخصصها لكل خدمة. مش دايماً بيكون استهلاك عالي.

👍 11 ❤️ 5 🤗 3
خالد إبراهيم خالد إبراهيم منذ 16 ساعة

هل جربت استخدام Docker Desktop؟ ولا بتفضل تشتغل على الكوماند لاين مباشرة؟ أنا بشوفه بيسهل كتير للمبتدئين.

👍 8 ❤️ 3
مصطفى الكندي منذ 16 ساعة

شكراً لمشاركتك. فقط للمعلومة، فيه فرق بين Docker Desktop و Docker Engine. الأول واجهة، والثاني هو المحرك الفعلي.

👍 7 🤗 3 ❤️ 3
نور حمودة منذ 16 ساعة

أهلاً بك في عالم الدوكر! أهم شيء في ملفات docker-compose هو تقسيم الخدمات بشكل منطقي وتحديد الـ volumes عشان ما تضيع الداتا.

❤️ 3
آية محمود منذ 16 ساعة

صراحة، أنا لسه مبتدئ في الدوكر وحاسس الموضوع معقد شوي. في أي مصادر معينة تنصح فيها عشان أفهم الأساسيات بشكل أسرع؟

❤️ 4 👍 3 😮 3
باسل الهاشمي منذ 15 ساعة

عن تجربة، أنصح بتثبيت Docker Compose كجزء من Docker Desktop، بيوفر عليك خطوات كثيرة.

👍 3 ❤️ 3 🤗 2
مصطفى رمضان مصطفى رمضان منذ 16 ساعة

وأنا أؤيد كلامك 100%. Docker غيرت طريقة شغلي للأبد. خصوصاً لما يكون عندك مشاريع قديمة وجديدة في نفس الجهاز، بتنقذك من كثير تعقيدات.

👍 6 😮 4 ❤️ 3