أوامر Docker الأساسية للتحكم: تشغيل، إيقاف، فحص، وحذف الحاويات

دقائق القراءة: 6

أوامر Docker الأساسية للتحكم بالحاويات

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

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

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

قبل إدارة الحاويات: فهم سريع لدورة الحياة

الحاوية في Docker تمر غالباً بمراحل واضحة: إنشاء من صورة، تشغيل، توقف، ثم إزالة. هذا التسلسل مهم لأن بعض الأوامر تعمل على حاوية جارية، بينما أوامر أخرى تتطلب أن تكون الحاوية متوقفة أولاً.

إذا لم تكن قد أعددت البيئة بعد، فمن المفيد الرجوع إلى مقال تثبيت Docker وإعداد بيئة العمل على Linux و Windows. أما إذا كنت في أول تجربة عملية، فمقال أول حاوية (Container) لك: تشغيل سيرفر ويب Nginx بكلمة واحدة يقدم نقطة انطلاق ممتازة.

أهم مراحل دورة حياة الحاوية

  • سحب الصورة باستخدام docker pull.
  • إنشاء الحاوية وتشغيلها باستخدام docker run.
  • متابعة حالتها عبر docker ps وdocker inspect.
  • إيقافها بشكل منضبط عبر docker stop.
  • حذفها عند الانتهاء باستخدام docker rm.

تشغيل الحاويات باستخدام docker run

الأمر docker run هو نقطة البداية الفعلية لتشغيل أي خدمة داخل حاوية. هذا الأمر ينشئ الحاوية من صورة ثم يشغلها مباشرة، ولذلك فهو يجمع بين مرحلتي الإنشاء والتنفيذ.

في بيئات الخوادم، يستخدم هذا الأمر لإطلاق تطبيقات ويب، خدمات خلفية، قواعد بيانات تجريبية، أو وكلاء بناء مخصصين داخل أنظمة CI/CD.

مثال عملي لتشغيل حاوية

docker run -d --name my-nginx -p 8080:80 nginx

هذا الأمر يعني ما يلي:

  • -d لتشغيل الحاوية في الخلفية.
  • --name لإعطاء اسم ثابت يسهل إدارته لاحقاً.
  • -p 8080:80 لربط منفذ من الخادم بالمنفذ الداخلي للحاوية.
  • nginx هي الصورة المستخدمة.

إذا أردت فهم الصور نفسها، فارجع إلى مقال فهم صور دوكر (Docker Images) وكيفية سحبها وإدارتها لأن نجاح التشغيل يعتمد أساساً على فهم بنية الصورة والوسوم tags.

لا تستخدم الربط العشوائي للمنافذ في بيئات الإنتاج دون مراجعة سياسات الجدار الناري وطبقة Security Groups أو iptables. كشف منفذ غير مقصود قد يؤدي إلى تعريض خدمة داخلية للإنترنت مباشرة.

فحص الحاويات ومعرفة حالتها

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

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

docker ps

أما لعرض جميع الحاويات، بما فيها المتوقفة:

docker ps -a

هذه الأوامر تمنحك نظرة سريعة على:

  • معرف الحاوية Container ID.
  • الصورة المستخدمة.
  • الأمر الأساسي داخل الحاوية.
  • مدة التشغيل أو وقت التوقف.
  • المنافذ المرتبطة واسم الحاوية.

الفحص العميق باستخدام docker inspect

الأمر docker inspect يعرض بيانات تفصيلية بصيغة JSON حول الحاوية، مثل عنوان الشبكة الداخلي، المسارات المركبة، حالة العملية، والمتغيرات البيئية.

docker inspect my-nginx

من خلاله يمكنك التحقق من أمور معمارية شديدة الأهمية مثل:

  • عنوان IP الداخلي للحاوية.
  • نوع الشبكة المستخدمة bridge أو غيرها.
  • سياسات إعادة التشغيل restart policy.
  • المجلدات المرتبطة من الخادم إلى الحاوية.

إيقاف الحاويات بأمان باستخدام docker stop

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

docker stop my-nginx

في أنظمة الويب وقواعد البيانات الخفيفة، هذا السلوك مهم جداً لتفادي تلف البيانات أو انقطاع الطلبات النشطة. لذلك يعتبر graceful shutdown ممارسة تشغيلية أساسية.

متى تستخدم الإيقاف بدلاً من الحذف؟

  • عند اختبار إعدادات تشغيل مؤقتة.
  • عندما تريد إعادة تشغيل الحاوية لاحقاً دون إنشائها من جديد.
  • أثناء عمليات الصيانة أو تغيير مسارات الشبكة.
  • قبل جمع السجلات أو تحليل سبب فشل الخدمة.

في بيئات الإنتاج، إيقاف حاوية مرتبطة بخدمة خلف Load Balancer يجب أن يسبقه إخراجها من مسار المرور أو تفعيل آليات drain لتجنب انقطاع المستخدمين أثناء الطلبات النشطة.

حذف الحاويات باستخدام docker rm

بعد توقف الحاوية وانتهاء الحاجة منها، يأتي دور الحذف. الأمر docker rm يزيل الحاوية من النظام، لكنه لا يحذف الصورة الأصلية. وهذا الفرق مهم لفهم كيفية إدارة المساحة وتكرار التشغيل بسرعة.

docker rm my-nginx

إذا حاولت حذف حاوية لا تزال تعمل، سيرفض Docker ذلك غالباً ما لم تستخدم خياراً قسرياً. ولهذا يكون التسلسل الآمن هو: إيقاف ثم حذف.

حذف حاوية مباشرة بعد التوقف التلقائي

في مهام الاختبار القصيرة أو الوظائف المؤقتة داخل pipelines، يمكنك تشغيل الحاوية مع الحذف التلقائي:

docker run --rm alpine echo "temporary task completed"

هذا النمط مفيد جداً في الأعمال المؤقتة مثل:

  • تنفيذ فحص سريع على ملف.
  • تشغيل أمر بناء قصير.
  • اختبار اتصال شبكة داخلية.
  • تنفيذ أدوات مساعدة دون ترك حاويات غير مستخدمة.

تسلسل عملي يومي لمهندس التشغيل

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

docker run -d --name demo-web -p 8080:80 nginx
docker ps
docker inspect demo-web
docker stop demo-web
docker rm demo-web

هذا التسلسل يعكس دورة عمل واضحة:

  1. تشغيل الخدمة.
  2. التحقق من أنها تعمل فعلاً.
  3. فحص إعداداتها الداخلية عند الحاجة.
  4. إيقافها بشكل منظم.
  5. تنظيف البيئة بعد انتهاء الاختبار.

أفضل الممارسات التشغيلية عند إدارة الحاويات

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

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

في النهاية، إتقان أوامر docker run وdocker stop وdocker inspect وdocker rm يمنحك أساساً صلباً لإدارة الحاويات بثقة. هذه الأوامر ليست للمبتدئين فقط، بل هي أدوات يومية يعتمد عليها مهندسو المنصات والسحابة للحفاظ على الاستقرار، تقليل downtime، وضبط البيئات التشغيلية بكفاءة عالية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *