מחזור חיים: עצירה ומחיקה
בשיעור הקודם הרצנו קונטיינר ברקע וקראנו את הפלט שלו. הפעם נתמקד ברעיון אחד: איך מכבים קונטיינר בצורה נקייה ואז מנקים אותו. נלמד את docker stop (ששולח קודם SIGTERM — אות 'בבקשה תסיים' מנומס, מהפריימר — מחכה תקופת חסד, ורק אז SIGKILL מפיל בכוח), את מצבי הקונטיינר (running → exited; קונטיינר שעצר עדיין
עצירה ומחיקה הן כמו לכבות מכשיר ואז לזרוק אותו: docker stop מבקש מהמכשיר לסיים יפה לפני שהוא נכבה, אבל הוא עדיין עומד על המדף כבוי — רק docker rm באמת מוריד אותו מהמדף ומפנה את המקום.
- SIGTERM
- אות 'בקשת סיום מנומסת' שנשלח לתהליך הראשי של הקונטיינר ב-docker stop, ונותן לו זמן לסגור חיבורים ולשמור מצב לפני שהוא נכבה. (אות הוא הודעה קצרה שמערכת ההפעלה שולחת לתהליך — מהפריימר.)
- SIGKILL
- אות שמפיל תהליך מיד וללא אפשרות לסרב. docker stop שולח אותו רק אם התהליך לא נסגר לבד עד תום תקופת החסד אחרי SIGTERM.
- מצב Exited
- קונטיינר שהתהליך שלו הסתיים. הוא כבר לא רץ אבל עדיין קיים: docker ps -a עדיין מציג אותו עם קוד היציאה, עד ש-docker rm מוחק אותו.