דוקר חסר שורשים

Dwqr Hsr Swrsym



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

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

או אולי ברצונך לאפשר למשתמשים מרובים במערכת נתונה לגשת ולהשתמש ב-Docker מבלי לתת את הרשאת השורש של כל המשתמשים.







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



מהו דוקר ללא שורשים?

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



Rootless Docker הוא תכונה המאפשרת לנו להשתמש ולהריץ את הדמון Docker ואת הקונטיינרים הקשורים ללא הרשאות שורש.





איך זה עובד

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

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



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

Docker מנצל תכונות כגון slirp4netns, המספק ערימת TCP/IP במצב משתמש ב-docker ללא שורש. זה מאפשר ל-Docker לגשת לרשת ללא הרשאת שורש במערכת המארחת.

אִחסוּן - החלק החיוני הבא ב-docker נטול שורשים הוא מנהל האחסון. כברירת מחדל, Docker משתמש במנהל התקן אחסון overlay2, אשר, כפי שאתה יכול לנחש, דורש הרשאות שורש. במקום זאת, מופע docker חסר שורש משתמש במנהל ההתקן של כיסויי הנתיכים. דרייבר זה מבוסס על שכבת העל FUSE fs, המאפשרת לנו להעלות אותו ללא הרשאות שורש.

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

Docker ללא שורשים - דרישות

תנו לנו לעבור מהתיאוריה וללמוד כיצד ליצור ולהגדיר סביבת Docker חסרת שורשים.

כדי לעקוב אחרי הפוסט הזה, ודא שיש לך את הדברים הבאים:

  1. מערכת מבוססת לינוקס עם הרשאות שורש.
  2. גישה לרשת.

הגדרת המערכת עם UIDMap

לפני התקנה והגדרה של Docker, עלינו להתקין ולהגדיר את המערכת עם כלי השירות uidmap.

UIDMap מאפשר לנו לנהל מיפוי UID ו-GUI של התהליכים במערכת לינוקס בתוכן של מרחבי שמות משתמשים. זוכרים שהזכרנו ש-Docker חסר שורש מנצל מרחבי שמות משתמשים? כלי זה יאפשר לנו לציין את מיפוי ה-UID וה-GID ואת מרחבי השמות המתאימים להם.

התחל על ידי רענון חבילות המערכת באופן הבא:

$ סודו apt-get update

לאחר מכן, התקן את כלי השירות uidmap כפי שמוצג:

$ סודו apt-get install uidmap

התקנת Rootless Docker

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

התחל על ידי הורדת הסקריפט של מתקין docker ללא שורש מהקישור המוצג להלן:

https://get.docker.com/rootless

אתה יכול להשתמש ב-cURL או ב-WGET.

$ סִלְסוּל -sSL https: // get.docer.com / חסר שורשים | ש

שים לב שאינך יכול להפעיל את הפקודה לעיל כמשתמש שורש.

לאחר השלמת ההתקנה, ערוך את קובץ ה-bashrc שלך באמצעות עורך הטקסט המועדף עליך:

$ ננו .bashrc

לאחר מכן, הוסף את הערכים הבאים לקובץ התצורה של bashrc:

יְצוּא XDG_RUNTIME_DIR = / בית / אובונטו / דוקר / לָרוּץ

יְצוּא נָתִיב = / בית / אובונטו / פַּח: $PATH

יְצוּא DOCKER_HOST =יוניקס: /// בית / אובונטו / דוקר / לָרוּץ / docker.sock

הקפד לשנות את המשתמש מ- 'ubuntu' למשתמש שברצונך להתקין את Docker. פלט הסקריפט ייתן לך את התוכן להוסיף לקובץ ה-bashrc.

שמור את השינויים וסגור את העורך.

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

systemctl --אובונטו להתחיל Docker

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

סיכום

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