פרויקט מסכם: לעטוף אפליקציה אמיתית ב-Docker
הגיע הזמן לחבר הכול. ניקח אפליקציית web קטנה, נכתוב לה Dockerfile, נריץ אותה עם פורט ומשתנה סביבה, ונחבר לה מסד נתונים בעזרת Docker Compose — בדיוק זרימת העבודה שתחזור/תחזרי עליה שוב ושוב בעבודה אמיתית. כל החלטה כאן נשענת על מה שכבר למדת: cache, פורטים, volumes, סודות ושמות שירות.
זה כמו לבשל ארוחה שלמה אחרי ששלטת בכל מתכון בנפרד: עכשיו מצרפים את הרכיבים — אפליקציה, מסד נתונים, רשת — למנה אחת שעובדת.
- compose.yaml
- קובץ אחד שמתאר את כל השירותים של האפליקציה (web, db), הרשת ביניהם וה-volumes. פקודה אחת, `docker compose up`, מקימה את כולם יחד.
- שם שירות
- בתוך Compose, שירות פונה לשירות אחר לפי השם שלו (למשל db), וה-DNS הפנימי מתרגם אותו לכתובת הנכונה. לא משתמשים ב-localhost בין שירותים.
- named volume
- אחסון בניהול Docker שמחובר ל-db, כך שהנתונים שורדים גם כשהקונטיינר נמחק ונוצר מחדש. בלעדיו, כל restart מאבד את מסד הנתונים.