تقنية الدوكر

شرح تقنية دوكر (Docker)
1. ما هي تقنية دوكر؟

دوكر (Docker) هي تقنية تُستخدم لتشغيل التطبيقات داخل بيئات معزولة تُسمّى الحاويات، حيث تحتوي هذه الحاويات على التطبيق والمكتبات والإعدادات اللازمة لتشغيله.

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

مثال: يمكن تطوير تطبيق على جهازك ثم تشغيله على خادم آخر باستخدام بيئة التشغيل نفسها.

2. لماذا نستخدم دوكر؟

تُستخدم تقنية دوكر للأسباب التالية:

توحيد بيئة تشغيل التطبيقات.
تسهيل نقل التطبيقات بين الأجهزة والخوادم.
تقليل المشكلات الناتجة عن اختلاف المكتبات والإعدادات.
تشغيل التطبيقات بسرعة واستهلاك موارد أقل عادةً.
تسهيل نشر التطبيقات وإدارتها.
3. الفرق بين دوكر والآلات الافتراضية

دوكر (Docker):

تشغّل التطبيقات داخل حاويات خفيفة.
تشارك الحاويات نواة نظام التشغيل المضيف.
تتميز عادةً بسرعة التشغيل وقلة استهلاك الموارد.

الآلات الافتراضية (Virtual Machines):

تحتوي عادةً على نظام تشغيل مستقل.
تستهلك موارد أكثر في كثير من الحالات.
توفر بيئة مناسبة لتشغيل أنظمة تشغيل مختلفة.
4. المكونات الأساسية لدوكر
أولًا: صورة الحاوية

Docker Image

هي قالب يحتوي على التطبيق وملفاته والمكتبات اللازمة لتشغيله.

ثانيًا: الحاوية

Docker Container

هي بيئة تُنشأ من الصورة لتشغيل التطبيق بصورة معزولة نسبيًا.

ثالثًا: محرك دوكر

Docker Engine

هو المسؤول عن إنشاء الصور وتشغيل الحاويات وإدارتها.

رابعًا: مستودع دوكر

Docker Hub

منصة تُستخدم لحفظ صور دوكر ومشاركتها وتنزيلها.

5. كيف تعمل دوكر؟

تمر عملية استخدام دوكر بالخطوات التالية:

كتابة التطبيق باستخدام لغة برمجة.
إنشاء ملف تعليمات لتجهيز التطبيق.
بناء صورة تحتوي على التطبيق ومتطلباته.
إنشاء حاوية من الصورة وتشغيل التطبيق.
نقل الصورة إلى خادم آخر عند الحاجة.
6. أهم أوامر دوكر

عرض إصدار دوكر:

docker –version

تنزيل صورة خادم إنجينكس:

docker pull nginx

عرض الصور الموجودة:

docker images

عرض الحاويات قيد التشغيل:

docker ps

تشغيل حاوية جديدة:

docker run -d -p 8080:80 nginx

إيقاف حاوية:

docker stop

عرض سجلات الحاوية:

docker logs

مثال عملي

بعد تشغيل الأمر التالي:

docker run -d -p 8080:80 nginx

يمكنك فتح المتصفح والانتقال إلى العنوان:

http://localhost:8080

ستظهر صفحة خادم إنجينكس الافتراضية إذا كان التشغيل ناجحًا والمنفذ متاحًا.

7. ما هو دوكر كومبوز؟

Docker Compose

هي أداة تُستخدم لتشغيل وإدارة عدة خدمات مرتبطة ببعضها من خلال ملف إعدادات واحد.

على سبيل المثال، يمكن تشغيل تطبيق ويب مع قاعدة بيانات وخدمة خلفية باستخدام إعداد موحد.

تشغيل الخدمات:

docker compose up -d

إيقاف الخدمات:

docker compose down

8. كيف سهّلت دوكر العمل على مطوري دوت نت كور؟

أحدثت دوكر (Docker) نقلة مهمة في طريقة تطوير التطبيقات باستخدام دوت نت كور (.NET Core)، إذ ساعدت المطورين على تجاوز كثير من التحديات المرتبطة بإعداد بيئات العمل ونشر التطبيقات وتشغيلها على خوادم مختلفة.

ومن أبرز الفوائد التي قدمتها:

توحيد بيئة التطوير: أصبح بالإمكان تشغيل التطبيق مع إصدار دوت نت والمكتبات والإعدادات المحددة، مما يقلل اختلاف النتائج بين أجهزة المطورين والخوادم.
تبسيط إعداد قواعد البيانات: يمكن تشغيل قواعد بيانات مثل إس كيو إل سيرفر (SQL Server) وبوستغرس (PostgreSQL) داخل حاويات، دون الحاجة إلى تثبيتها يدويًا على كل جهاز.
تسهيل نشر التطبيقات: يمكن بناء صورة للتطبيق وتشغيلها على خادم يدعم دوكر، مما يجعل عملية النشر أكثر تنظيمًا وقابلية للتكرار.
تسريع العمل الجماعي: يستطيع أعضاء الفريق استخدام البيئة نفسها، الأمر الذي يقلل الوقت المستهلك في معالجة مشكلات الإعداد والتوافق.
دعم بنية الخدمات المصغرة: أصبح من الأسهل تشغيل كل خدمة من خدمات التطبيق بصورة مستقلة، وربطها بالخدمات الأخرى حسب الحاجة.
تحسين التكامل والنشر المستمر: يمكن دمج دوكر مع أدوات الاختبار والنشر الآلي لتقليل التدخل اليدوي وتحسين موثوقية عمليات إصدار التطبيقات.

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

9. استخدامات دوكر

تُستخدم دوكر في مجالات عديدة، منها:

تطوير تطبيقات الويب.
تشغيل قواعد البيانات أثناء التطوير.
اختبار التطبيقات ونشرها.
تشغيل التطبيقات على الخوادم السحابية.
إدارة بيئات التطوير والإنتاج.
دعم عمليات التطوير والتشغيل.
الخلاصة

دوكر (Docker) تقنية تساعد على تشغيل التطبيقات ونقلها بسهولة من خلال وضعها داخل حاويات تحتوي على متطلباتها الأساسية.

وقد ساهمت في تسهيل عمل مطوري دوت نت كور من خلال توحيد بيئات العمل، وتبسيط إعداد الخدمات، وتسريع النشر، وتحسين التعاون بين أعضاء الفريق.

ويُعد فهم الصور والحاويات ومحرك دوكر وأداة دوكر كومبوز خطوة مهمة لكل من يريد تطوير مهاراته في مجال تطوير البرمجيات أو ديف أوبس (DevOps) والحوسبة السحابية.

arArabic
🚀