لا تفقد بيانات تطبيقك مرة أخرى! أفضل طرق فهم التخزين والشبكات في Docker
من الأخطاء التي يقع فيها المبتدئون الاعتقاد بأن الملفات التي تُحفظ داخل الحاوية ستظل موجودة إلى الأبد. الحقيقة أن الحاويات قابلة للاستبدال والحذف، ولذلك يجب فهم طرق تخزين البيانات وكيفية اتصال الخدمات ببعضها قبل الانتقال إلى تشغيل التطبيقات الحقيقية.
1. Volumes: الخيار الأفضل للبيانات المستمرة
تسمح وحدات التخزين بالاحتفاظ بالبيانات خارج دورة حياة الحاوية، ولذلك تُستخدم كثيرًا مع قواعد البيانات والملفات التي يجب ألا تضيع عند استبدال الحاوية. وهي مناسبة عندما تريد أن تدير Docker موقع البيانات بدل الاعتماد على مسار محدد داخل جهازك.
2. Bind Mounts: الأفضل أثناء التطوير
تربط هذه الطريقة مجلدًا من جهازك بمسار داخل الحاوية. وهي مفيدة عندما تعدّل ملفات المشروع وتريد رؤية التغييرات مباشرة دون إعادة بناء الصورة في كل مرة.
3. tmpfs: للتخزين المؤقت
يُستخدم tmpfs لتخزين بيانات مؤقتة في الذاكرة، وهو مناسب للملفات التي لا تحتاج إلى الاحتفاظ بها بعد توقف الحاوية، مع مراعاة إعداداته ومتطلبات النظام.
4. تعلّم أنواع الشبكات المختلفة
توفر شبكة Bridge وسيلة شائعة لربط الحاويات على الجهاز نفسه، بينما تسمح Host بمشاركة شبكة المضيف وفق قيودها، وتساعد Overlay على ربط الخدمات عبر عدة مضيفين في البيئات التي تدعمها.
5. افهم ربط المنافذ وDNS
ربط المنافذ يسمح بالوصول إلى خدمة داخل الحاوية من خارجها، أما أسماء الخدمات داخل شبكة مشتركة فتسهّل التواصل بين الحاويات دون الحاجة إلى تثبيت عناوين IP يدويًا.
6. أنشئ تطبيقًا متعدد الحاويات
جرّب تشغيل تطبيق ويب مع قاعدة بيانات، واجعل التطبيق يتصل بقاعدة البيانات عبر اسم الخدمة والمنفذ الداخلي. ثم أعد إنشاء إحدى الحاويات وتأكد من استمرار البيانات عند استخدام وحدة تخزين دائمة.
نصيحة مهمة: لا تضع بيانات قواعد الإنتاج في مساحة الكتابة المؤقتة للحاوية، ولا تفتح المنافذ للعامة دون ضرورة. افصل بين التخزين الدائم والمؤقت، وامنح كل خدمة أقل قدر ممكن من الوصول إلى الشبكة والبيانات.
المصدر الرسمي:
docs.docker.com
docs.docker.com