הנה איך לקבל את חוויית Docker הטובה ביותר ב-Windows.

מערכת המשנה של Windows עבור Linux 2 היא כלי פנומנלי ב-Windows 10 ו-11, ומשתלבת עם Docker בצורה חלקה. כמפתחים, חיוני להבין מה התוכנות הללו מציעות וכיצד תוכלו להפיק את המרב מהגדרת Docker-WSL 2 שלכם.

מה זה דוקר?

Docker היא פלטפורמת קוד פתוח המאפשרת למפתחים לבנות, לפרוס ולהפעיל ביעילות את האפליקציות שלהם בתוך קונטיינר. כל התלות מקובצות כך שניתן לפרוס את הפרויקט שלך בקלות בכל סביבה.

Docker פופולרי מאוד בקרב פלטפורמות קונטיינריזציה רבות מכיוון שהוא אמין, פונקציונלי וניתן להרחבה מאוד. הוא פועל על מנוע Docker, כלי חיוני של DevOps המספק סביבה נקייה וקלת משקל לבדיקה ופריסה. Docker דומה למכונה וירטואלית אך עושה וירטואליזציה של מערכת ההפעלה ולא את החומרה הבסיסית.

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

כיצד להשתמש ב-Docker ב-WSL 2

Docker תואם לכל מערכות ההפעלה הגדולות, כגון Windows, macOS ו-Linux. אם אתה ב-Windows 10 או 11, אתה יכול להשתמש ב- Docker דרך Docker Desktop ו

instagram viewer
שלב אותו עם מערכת המשנה של Windows עבור Linux 2 לשיפור הביצועים. אתה יכול להוריד את Docker Desktop עבור Windows מה- האתר הרשמי של Docker.

מערכת המשנה של Windows עבור לינוקס (WSL) היא תכונה חשובה המאפשרת למשתמשי Windows להפעיל הפצות לינוקס כמו אובונטו וקאלי מבלי להגדיר מכונה וירטואלית או אתחול כפול.

זה גם אומר את זה משתמשי Windows יכולים להשתמש ישירות בכלי שורת הפקודה של לינוקס, יישומים וכלי עזר ללא שלבי התקנה נוספים. הגרסה העדכנית ביותר של WSL, WSL 2, מספקת יציבות רבה יותר וליבת לינוקס ייעודית.

מכיוון שמכולות Docker הן חזקות, אתה אפילו יכול להגדיר אותן לארח את השרת שלך; קונטיינרים של nginx docker משמשים בדרך כלל כשרתי אינטרנט. בנוסף, אתה יכול להשתמש ב-Docker בכמה דרכים אחרות:

  • הפעל הפצות לינוקס בקלות
  • הגדר שרת אינטרנט למטרות למידה או בדיקה
  • יישומי פריסה ניידים
  • אגד את היישום לקובץ תמונה בודד
  • צנרת CI/CD פשוטה

עליך להכיר את השיטות המומלצות לשימוש ב-Docker עם Windows Subsystem עבור Linux 2, בדיוק כמו שהיית עושה עם כל פלטפורמה או כלי אחר. כמפתח, אני יכול לומר מניסיון אישי שתהפוך להרבה יותר פרודוקטיבי ויעיל ברגע שתשלב את הטיפים הבאים בזרימת העבודה שלך.

1. שלב VS Code עם WSL 2

Visual Studio Code הוא IDE פופולרי שאהוב בשל התכונות המדהימות שלו, הקהילה וההרחבות שלו. כמפתח, היכולת להשתמש ב-Visual Studio Code לפיתוח אפליקציות בפלטפורמת Windows תוך כדי גם להפעיל את האפליקציות האלה על ליבת לינוקס היא יתרון להפליא וכמעט לא ייאמן תכונה.

כאשר אתה משלב VS Code לתוך מערכת המשנה של Windows עבור לינוקס, אתה יכול לנצל את ליבת הלינוקס המיוחדת שלו כדי לשפר את התאימות בין פלטפורמות. אתה יכול לייעל עוד יותר את זרימת העבודה שלך על ידי שימוש במסוף המשולב בתוך VS Code עם WSL 2.

ל הגדר VS Code עם WSL 2 ב-Windows, אתה יכול להגדיר את WSL הרחבה מ- VS Code Marketplace ולהניע את הדברים.

2. השתמש במערכת הקבצים WSL 2

כדי להפעיל כראוי את הקונטיינרים של Docker שלך, חיוני שתסתמך על מערכת הקבצים של ה-WSL 2 ההפצה שלך ולא תהיה תלויה מאוד במערכת הקבצים המקורית של Windows. במהלך הניסיון שלי בעבודה עם קונטיינרים של Docker ב-WSL 2, גיליתי שעדיף לאחסן את קבצי הפרויקט שלך בתוך WSL.

3. השתמש בסקריפטים מקוריים של לינוקס

פרויקטים רבים מכוללים שתעבוד עליהם יבואו כנראה עם סקריפטים לאוטומציה בלינוקס. בדרך כלל, סקריפטים אלה מפותחים לראשונה עבור לינוקס, ומפתחי Windows אינם בראש סדר העדיפויות.

עם WSL 2, כל הצוות שלך יכול להשתמש באותם סקריפטים לאוטומציה של לינוקס, ואתה לא צריך לדאוג לתחזוקת סקריפטים אוטומציה תואמי Windows עבור הצוות שלך.

4. הגדר את BuildKit לשיפור האבטחה והביצועים

BuildKit הוא ערכת כלים בקוד פתוח המשפרת את תהליך הבנייה המסורתי של Docker מבחינת ביצועים ואבטחה; הוא משולב ישירות עם Docker, כך שאינך צריך להתקין אותו בנפרד.

כאשר אתה מפעיל את BuildKit כברירת מחדל, אתה מוודא שהמכולות שלך נבנות עם ערכת הכלים BuildKit, מה שמעניק לך אבטחה טובה יותר, במקביל, גמישות ושמירה במטמון.

כדי להפעיל את BuildKit כברירת מחדל, עליך לבצע את השינויים הבאים בקובץ התצורה ~/.profile:

יְצוּא DOCKER_BUILDKIT=1.

5. הגדר מגבלות משאבים

כאשר אתה משלב את הקצה האחורי של WSL 2 עם Docker Desktop, אתה נותן ל-Docker גישה לכל משאבי המעבד שלך. פעולה זו עוזרת לשפר את הביצועים עבור מיכלים שכבדים במשאבים.

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

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

6. שחזור זיכרון מטמון

אם אתה מפעיל קונטיינר Docker ב-WSL 2, הזיכרון שלו אמור להתפנות ברגע שהקונטיינר מסתיים. למרבה הצער, ליבת מערכת ההפעלה נוטה לשמור נתונים במטמון; משמעות הדבר היא שהזיכרון האפקטיבי שנגבה על ידי ה-WSL 2 לא יספיק.

אתה יכול לשחזר את כל הזיכרון שנמצא בשימוש שלא לצורך כמטמון על ידי הפעלת הפקודה הבאה דרך root ב-WSL 2:

הֵד 1 > /proc/sys/vm/drop_caches

התחכם עם WSL 2

ה-WSL 2 הוא התכונה הטובה ביותר עבור מפתחים מבוססי Windows, שמשנה לחלוטין את האופן שבו מפתחים משתמשים ב-Docker. מפתחים חייבים להבין את השיטות המומלצות לשימוש ב-Docker עם WSL כדי לשפר את הביצועים, האבטחה וגמישות זרימת העבודה.