מה זה Docker Bind Mounts?

Mh Zh Docker Bind Mounts



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

מאמר זה ימחיש:







מה זה Docker Bind Mounts?

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



כיצד פועל Bind Mount ב-Docker?

הבה ניקח דוגמה ונראה כיצד bind-mount עובד ב-Docker. נניח שיש לנו ספרייה ריקה ' מִבְחָן ' ממוקם ב ' C:\Docker ' במערכת מקומית. כעת, אנו רוצים לגשת ל' מִבְחָן 'תוכן הספרייה במיקום' /app ' מתוך מיכל מסוים. בדוגמה זו, הפעל קונטיינר מהתמונה הרשמית של Docker, כלומר, ' nginx ' והשתמש ב-bind mount כדי להעלות ספריה ספציפית מהמחשב המארח לתוך המיכל.



להבנה טובה יותר, בצע את השלבים שסופקו.





שלב 1: קשר את ספריית הר ממכונה מארח למיכל

ראשית, השתמש ב' docker run -d –name <שם-מיכל> -v <נתיב מקור>:<נתיב-יעד> <שם-תמונה> ” פקודה והפעל קונטיינר. זה קושר את ספריית ה-mount מהמחשב המארח למיכל:



דוקר ריצת --שֵׁם myCont ג: / דוקר / מִבְחָן: / אפליקציה nginx: האחרונה


כאן:

    • ' 'האפשרות משמשת לביצוע ה-container ברקע.
    • ' -שֵׁם ' משמש להגדרת שם המיכל.
    • ' myCont ' הוא שם המכולה שלנו.
    • ' אפשרות ” יוצרת אמצעי אחסון בקונטיינר שממפה את ספריית המקור במחשב המארח לספריית היעד במיכל.
    • ' C:/Docker/Test ” הוא הנתיב של ספריית המקור (מכונה מקומית).
    • ' /app ” הוא נתיב ספריית היעד (מיכל).
    • ' nginx: האחרון ' היא התמונה האחרונה של Docker:



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

שלב 2: צור קובץ בספריית המקור במחשב המארח

לאחר מכן, נווט אל נתיב ספריית המקור, כלומר, ' C:/Docker/Test ' במחשב המארח וצור בו קובץ טקסט רגיל. לדוגמה, יצרנו ' הַדגָמָה 'קובץ:


שלב 3: גש לקובץ המכונה המארח בתוך המיכל

כעת, הקלד את הפקודה שסופקה להלן כדי לגשת לתוכן המיכל ולהפעיל פקודות בתוכו:

דוקר exec -זה myCont לַחֲבוֹט



לאחר מכן, מעטפת המיכל תיפתח.

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

ls



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

הפנה מחדש אל ' אפליקציה ' ספרייה:

CD אפליקציה


לאחר מכן, רשום את ' אפליקציה ' תוכן ספרייה כדי לוודא שקובץ המחשב המקומי זמין בו:

ls



ניתן להבחין כי ' Demo.txt ' הקובץ זמין בתוך המיכל, ואנחנו יכולים לגשת אליו.

שלב 4: צור קובץ בתוך מיכל

לאחר מכן, צור קובץ נוסף בתוך מיכל באמצעות ' לגעת ' פקודה:

לגעת new.txt



יצרנו ' new.txt 'קובץ.

לאחר מכן, אמת את הקובץ החדש שנוצר באמצעות הפקודה הרשומה למטה:

ls



ניתן לראות שהקובץ ' new.txt ' נוצר בהצלחה בתוך המכולה.

שלב 5: אמת את הקובץ במערכת המקומית

לבסוף, נווט לנתיב המכונה המקומית ובדוק אם ' new.txt ' הקובץ זמין או לא:


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

שלב 6: הסר את Docker Container

כעת, הסר את המיכל באמצעות ' docker rm ' הפקודה יחד עם שם המיכל:

דוקר rm myCont



ה ' myCont מיכל נמחק בהצלחה.

שלב 7: ודא שהנתונים נמשכים במחשב המקומי

לאחר מחיקת המכולה, ודא אם הנתונים נשארו במחשב המקומי בלא:


כפי שאתה יכול לראות, השינויים נמשכו גם לאחר מחיקת מיכל ה-bind-mount.

סיכום

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