Docker Compose לאפליקציה מרובת שירותים
אפליקציה אמיתית היא כמעט אף פעם לא קונטיינר בודד — יש שירות API, מסד נתונים, ולפעמים cache. במקום להריץ כל אחד בפקודת docker run נפרדת ולחבר אותם ידנית, קובץ compose.yaml מתאר את כל השירותים יחד, ו-docker compose up מעלה את כולם בבת אחת. בשיעור הזה נראה איך שירותים מוצאים זה את זה לפי שם, ולמה depen
Docker Compose הוא כמו במאי הצגה אחד שמעלה את כל המופע יחד: כל השחקנים נכנסים לבמה ביחד ומכירים זה את זה לפי שם התפקיד, לא לפי מספר כיסא.
- service
- הגדרה של קונטיינר אחד בתוך compose — איזה image או build להשתמש בו, אילו משתני סביבה, פורטים ו-volumes. כל service עולה ככלי עצמאי אך מחובר לשאר.
- compose.yaml
- קובץ YAML שמתאר את כל השירותים, הרשתות וה-volumes של האפליקציה במקום אחד, כך ש-docker compose up יכול להעלות את הכול יחד באופן ניתן לשחזור.
- depends_on
- הגדרה שקובעת סדר התחלה בלבד: Compose יתחיל קודם את השירות התלוי. היא לא מחכה שהשירות יהיה מוכן לקבל בקשות — לשם כך צריך healthcheck עם condition: service_healthy.