العودة إلى الدورة

الدرس 5: إدارة دورات حياة الحاويات

Docker من الصفر إلى الاحتراف: الدورة الشاملة لتغليف التطبيقات (Containerization) للمبتدئين

الدرس 5: إدارة دورات حياة الحاويات

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

تشغيل الحاويات في وضع الانفصال (Detached Mode)

لتشغيل حاوية في الخلفية (وضع الانفصال)، نستخدم العلامة -d. لنقم بتشغيل خادم ويب Nginx خفيف الوزن:

bash docker run -d --name my_web_server -p 8080:80 nginx

تحليل:

  • -d: وضع الانفصال (يعمل في الخلفية).
  • --name my_web_server: يخصص اسماً قابلاً للقراءة بدلاً من معرف عشوائي (ID).
  • -p 8080:80: تعيين المنفذ (Port Mapping). يعيّن المنفذ 80 داخل الحاوية إلى المنفذ 8080 على جهازنا المضيف.
  • nginx: الصورة المراد استخدامها.

الآن، تحقق من الحاوية قيد التشغيل:

bash docker ps

يجب أن ترى my_web_server مدرجاً، يظهر حالته كـ Up وتعيين المنفذ 0.0.0.0:8080->80/tcp.

يمكنك الآن الوصول إلى صفحة ترحيب Nginx بالانتقال إلى http://localhost:8080 في متصفح الويب الخاص بك.

إيقاف وبدء الحاويات

يمكن إدارة الحاويات باستخدام اسمها المخصص أو معرفها (ID).

1. الإيقاف

bash docker stop my_web_server

تحقق من docker ps مرة أخرى؛ يجب أن تكون الحاوية قد اختفت من قائمة التشغيل، لكنها لا تزال موجودة (تحقق باستخدام docker ps -a).

2. البدء

bash docker start my_web_server

3. إعادة التشغيل

bash docker restart my_web_server

إزالة الحاويات

لحذف حاوية متوقفة بشكل دائم، استخدم docker rm.

bash docker rm my_web_server

نصيحة: لإزالة جميع الحاويات المتوقفة بكفاءة، يمكنك استخدام:

bash docker container prune