אנדרואיד

כיצד להתחבר למיכל הדוקר

!Spongebob¡ ª Patrick: Cheap Plastic Bag Sparta Extended Remix ª

!Spongebob¡ ª Patrick: Cheap Plastic Bag Sparta Extended Remix ª

תוכן עניינים:

Anonim

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

במדריך זה נסביר כיצד לצרף לתהליך הריצה העיקרי של המיכל ואיך להביא מעטפת למכל פועל.

צרף למיכל

למרות שאפשר להריץ מספר תהליכים במיכל, רוב מכלי הדוקר פועלים רק בתהליך אחד. הפקודה שמתבצעת בעת הפעלת מיכל מוגדרת באמצעות הוראות ENTRYPOINT ו / או RUN .

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

כדי להבין טוב יותר כיצד פועלת הפקודה attach בואו נפעיל מיכל Nginx מנותק חדש באמצעות תמונת ה- Nginx הרשמית.

docker container run --name my_nginx -d -p 8080:80 nginx

האפשרות -p 8080:80 אומרת לדוקר לקשור את יציאת 8080 של המכולה ליציאה 80 במחשב המארח.

רשום את המכולות כדי לוודא שהמיכל "my_nginx" פועל:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e1c4974a8d8 nginx "nginx -g 'daemon of…" 3 minutes ago Up 2 seconds 0.0.0.0:8080->80/tcp my_nginx

צרף למכולה באמצעות מזהה המכולה או שם:

docker container attach my_nginx

פקודת ברירת המחדל של תמונת nginx המתבצעת בעת הפעלת המיכל מוגדרת ל- CMD . כשאתה מפעיל את הפקודה attach הטרמינל שלך nginx לתהליך nginx .

פתח 127.0.0.1:8080 בדפדפן שלך ותוכל לצפות בפלט של תהליך nginx בזמן אמת.

192.168.33.1 - - "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-" 192.168.33.1 - - "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.33.71:8080/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-"

כדי לקבל גישה ליומני המכולה, עליך להעדיף להשתמש בפקודת docker logs .

לניתוק מהמיכל מבלי לעצור אותו, השתמש בשילוב המקשים CTRL-p CTRL-q . לחיצה על CTRL-c עוצרת את המכולה.

אם תהליכי הריצה שאליהם אתה מצורף מקבלים קלט, אתה יכול לשלוח אליו הוראות.

השג מעטפת למכל

הפקודה docker exec מאפשרת לך להריץ פקודות בתוך מיכל רץ.

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

docker container run --name my_mysql -d mysql

פעולה זו תיצור מיכל בשם "my_mysql".

כדי לבצע פקודה בתוך המיכל הרץ את הפקודה הבאה:

docker container exec -it my_mysql ls /var

האפשרות -i מייצגת אינטראקטיבית, ו- -t אומר לדוקר להקצות מכשיר פסאודו TTY. הפקודה ls כל הקבצים והספריות שנמצאים בספריית container /var :

backups cache lib local lock log mail opt run spool tmp

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

הפקודה שלמטה תיצור הפעלת Bash חדשה בתוך המיכל:

docker container exec -it my_mysql /bin/bash

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

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

env

הפלט ייראה כך:

HOSTNAME=e0214d97e0fe MYSQL_ROOT_PASSWORD=my-secret-pw PWD=/ HOME=/root MYSQL_MAJOR=8.0 GOSU_VERSION=1.7 MYSQL_VERSION=8.0.17-1debian9 TERM=xterm SHLVL=1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin _=/usr/bin/env

סיכום

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

הדוקר