الدرس 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