# מערך שיעור: ניהול קונטיינרים בסיסי📋 מערך מרצה

משך: 1.5 שעות אקדמיות (68 דקות).

מטרת השיעור: הסטודנטים ישלטו בכלי הדיבוג והניהול היומיומיים לקונטיינר רץ.

בסוף השיעור הסטודנטים צריכים: להשתמש ב-docker logs/exec לאבחון בעיות, לנהל lifecycle (stop/rm), ולהסביר מתי להשתמש ב-prune בזהירות.

דגש קריטי: זהו שיעור-כלים מעשי — תרגול חי דומיננטי, לא הרצאה. סטודנטים צריכים לצאת עם "רפלקס" של סדר אבחון, לא רק רשימת פקודות.

---

## מהלך השיעור

| חלק בשיעור | משך | הערות ודגשים |
| --- | --- | --- |
| פתיחה וחיבור | 5 דקות | שאלו: "קונטיינר רץ (docker ps מראה אותו) אבל API לא עונה — מה בודקים?" |
| docker logs | 15 דקות | הדגמה חיה, כולל -f |
| docker exec | 15 דקות | פתיחת shell, בדיקת קבצים בפנים |
| Lifecycle: stop/rm | 15 דקות | הבדל בין עצירה למחיקה |
| ניקוי: prune | 10 דקות | אזהרה על שימוש זהיר |
| תרגול מודרך | 8 דקות | תרגיל 1+2 |

---

## דגשים להעברת השיעור

- זהו שיעור שמתאים במיוחד לפורמט "תקלה מכוונת → אבחון בפועל" — שברו במכוון קונטיינר (למשל מיפוי פורט שגוי) ותנו לסטודנטים לאבחן צעד-צעד עם הכלים שלמדו, לא רק להדגים פתרון מוכן.
- הדגישו את הסדר ההגיוני: `docker ps` (בכלל רץ?) → `docker logs` (שגיאות?) → `docker exec` (מה קורה בפנים?) — רצף אבחון, לא כלים נפרדים.
- `prune` שווה אזהרה מפורשת — לא להריץ אותו "סתם" בלי להבין מה יימחק, במיוחד בסביבת עבודה משותפת.

---

## מושגים

**`docker logs`** — פלט Console מתוך הקונטיינר.
**`docker exec`** — הרצת פקודה/shell בקונטיינר רץ.
**Container Lifecycle** — נוצר→רץ→נעצר→נמחק.
**`docker system prune`** — ניקוי משאבים לא-בשימוש.

---

## תרגיל חשיבה

**שאלת פתיחה:** "הקונטיינר שלכם רץ (`docker ps` מראה אותו), אבל `curl localhost:8080` נכשל עם 'connection refused'. מה שלושת הדברים הראשונים שהייתם בודקים, לפי הסדר?"

**מהלך:** הובילו את הסטודנטים לבנות סדר הגיוני: (1) `docker logs` — האם השרת בכלל עלה בהצלחה בפנים? (2) מיפוי הפורט — האם `-p` היה נכון בהרצה? (3) `docker exec` — האם הקבצים/הקונפיגורציה בפנים תקינים? זה בדיוק הרפלקס המקצועי שהם צריכים לפתח.

**מה המרצה מראה בסוף:** הריצו קונטיינר עם מיפוי פורט שגוי בכוונה (למשל `-p 8080:8080` כשהשרת בפנים מאזין בפועל על 80), ותנו לסטודנט לאבחן בשידור חי לפי הסדר שזה עתה בנו יחד — `logs` (יראה שהשרת רץ, מאזין על 80), ואז יבינו שהבעיה במיפוי הפורט.
