- הטמעת קונטיינרים מקוריים באמצעות wslc.exe כדי להפחית את תקורת המערכת.
- אופטימיזציה של ביצועים באמצעות מערכת ההפעלה WSL 2 לעומת גרסאות קודמות.
- אינטגרציה חלקה עם Visual Studio Code ו-Dev Containers לייעול זרימת העבודה.
- ניתוח דרישות הרישיון וגרסאות Windows הנדרשות עבור כל שיטה.
אם אתם מפתחים שעובדים על Windows, סביר להניח שנתקלתם בדילמה עתיקת יומין של רצון ליהנות מהעוצמה של לינוקס מבלי שתצטרכו לפרמט את המחשב שלכם או להתמודד עם מכונות וירטואליות שצורכות את כל ה-RAM שלכם. למרבה המזל, המערכת האקולוגית התפתחה בצורה אדירה, וכעת יש לנו אפשרויות שהופכות את פריסת קונטיינרים של Docker על WSL לקלה, ומאפשרות לנו לקבל את הטוב משני העולמות על מכונה אחת.
דברים השתנו הרבה לאחרונה, ועברו מתצורות מסורבלות לפתרונות כמעט מקוריים. בין אם אתם מחפשים כלי מקצועי עם ממשק גרפי או מעדיפים את הקלילות של ממשק שורת פקודה (CLI) המשולב ישירות במערכת, ישנן דרכים ברורות להקמת סביבת הפיתוח שלכם מבלי שהמחשב שלכם יתחנן לרחמים בגלל חוסר זיכרון.
הפרדיגמה החדשה: קונטיינרים מקוריים עם wslc.exe

מיקרוסופט עשתה צעד נועז על ידי שחרור תכונת תצוגה מקדימה ציבורית המאפשרת למשתמשים להריץ קונטיינרים של לינוקס באופן טבעי. כוכב התוכנית הוא wslc.exe, ממשק שורת פקודה המחקה פקודות Docker מוכרות, אך ללא צורך ב-Docker Desktop. מה שמעניין ביותר הוא שהוא אינו משתמש בהפצת WSL סטנדרטית; במקום זאת, הוא משיק מיקרו-VMs קלילים מסוג Hyper-V עבור כל קונטיינר, מבודד תהליכים משמעותית ומשפר את האבטחה.
כדי להתחיל להשתמש בכלי זה, עליך להתקין את Windows 11 (רצוי גרסה 26100 ומעלה) ו- עדכון WSL לגרסת התצוגה המקדימה באמצעות הפקודה wsl --update --pre-releaseברגע שזה נעשה, פשוט הפעל wsl --install-feature containers כדי שהכל יהיה מוכן. כדי לבדוק שאין שגיאות, ניתן להפעיל קונטיינר מהיר עם wslc run --rm hello-world ואם אתם רואים את הודעת הברכה, זה אומר ש הסביבה שלך מבצעית..
בואו נתחיל: יצירת תמונה משלכם
כאשר אתם רוצים לעבור מדוגמאות בסיסיות למשהו אמיתי, הפתרון האידיאלי הוא להשתמש ב-VS Code עם הסיומת WSL שלו. דמיינו שיש לכם פרויקט Django; אתם רק צריכים ליצור קובץ בשם קובץ קונטיינר בשורש היכן מגדירים את תמונת הבסיס (כמו Python 3), מעתיקים את הדרישות ומתקינים את התלויות. לאחר מכן, משתמשים בפקודה wslc build -t nombre-de-tu-app . סעיף צור את התמונה המותאמת אישית.
כדי להתחיל, פקודת המפתח היא wslc run -d -p 8000:8000 nombre-de-tu-appזה מאפשר ל-Windows גישה לפורט של המכולה. אם ברצונך לראות מה קורה בפנים, תוכל להשתמש wslc container logs או לבצע פקודות פנימיות עם wslc execאם אתם שמים לב שהדיסק מתמלא, אל תשכחו להשתמש שזיפים מיובשים של wslc כדי למחוק את מה שכבר אינך משתמש בו.
האלטרנטיבה הקלאסית: Docker Desktop ו-WSL 2

למרות שפתרונות מקוריים נשמעים נהדר, Docker Desktop נותר הסטנדרט בזכות הבשלות והממשק הוויזואלי שלו. המפתח כאן הוא להשתמש ב- קצה אחורי של WSL 2שהוא מהיר לאין שיעור מגרסה 1 הודות להכללת ליבת לינוקס אמיתית ומערכת קבצים מקורית ext4. זה מייצג שיפור עצום ב- מהירות קלט ופלט של קבציםביצוע פעולות כמו npm install o git clone לָטוּס.
אם אתם מגיעים מהתקנה ישנה יותר, הדבר הטוב ביותר לעשות הוא ניקוי יסודי. מחקו תיקיות שנותרו ב AppData ולחסל כל זכר של DOCKER_HOST בארכיון .bashrc חשוב להימנע מהטעות האופיינית של חיבור לדמון של Dockerלאחר הניקוי, התקן את הגרסה העדכנית ביותר של Docker Desktop וודא שהאפשרות מסומנת בהגדרות. אינטגרציה עם הפצת ה-WSL שלך.
תצורה ידנית למשתמשים מתקדמים
חלק מהמשתמשים מעדיפים לא להשתמש ב-Docker Desktop עקב בעיות רישוי תאגידיות או צריכת משאבים. במקרה כזה, ניתן להתקין את מנוע ה-Docker ישירות על אובונטו בתוך WSL. זה כרוך ביצירת משתמש שאינו root כדי להימנע מסיכוני אבטחה ומתן לו... הרשאות סודו ולהפעיל את ההתקנה של docker.io y docker-compose דרך הטרמינל. זוהי דרך ידנית יותר, אבל היא נותנת לך שליטה מוחלטת על השד ומשאבי מערכת.
השוואה ובחירת מסלול

הבחירה בין wslc ל-Docker Desktop תלויה בעיקר בפרופיל שלך. אם אתה עובד בחברה גדולה ורוצה להימנע מעלויות רישויאו אם אתם פשוט צריכים קונטיינרים לפיתוח מהיר ב-VS Code, wslc היא הבחירה המנצחת. יתר על כן, האינטגרציה עם מכולות פיתוח קוד VS זה פשוט: אתה רק צריך לשנות את נתיב ה-Docker ל- wslc בהגדרות ה-JSON.
מצד שני, אם אתם מסתמכים על מערכות תזמור כמו Kubernetes או Rancher Desktop , Docker Desktop נותר חיוני, מכיוון שהפתרון המקורי של WSL עדיין לא מכסה את שכבת התזמור הזו. כמו כן, זכרו ש- Windows 11 Pro או Enterprise הם דרישה חובה לשימוש בתכונות הבידוד של Hyper-V הנחוצות עבור wslc, מכיוון שגרסת Home אינה תומכת בתכונות אלו.
סביבת קונטיינרים מוגדרת היטב ב-Windows משנה את חוויית הפיתוח, ומאפשרת לנו לעבור בין כלי ניתוח נתונים, שרתי אינטרנט ומסדי נתונים מבלי להעמיס על מערכת ההפעלה הראשית. בין אם בוחרים באופי הקל של המיקרו-VM של מיקרוסופט או בחוסן של חבילת Docker, המפתח הוא למנף את ארכיטקטורת WSL 2 כדי למקסם את הביצועים ולשמור על גמישות בתהליך העבודה היומיומי שלנו.