Docker file рецепт для Docker images. Как рождается Docker контейнер c помощью Docker build.
תוכן עניינים:
- פיקוד הפעלת Docker
- הרץ את המכולה בחזית
- הפעל את המיכל במצב מנותק
- הסר את המיכל לאחר היציאה
- הגדר את שם המיכל
- יציאות מכולות לפרסום
- שיתוף נתונים (הרכבת כרכים)
- הפעל את המכולה באופן אינטראקטיבי
- סיכום
Docker היא פלטפורמה המאפשרת לך לפתח, לבדוק ולפרוס אפליקציות כמכולות ניידות ומספקות עצמית הפועלות כמעט בכל מקום.
פקודת
docker run
יוצרת מיכל מתמונה נתונה ומתחיל את המיכל באמצעות פקודה נתונה. זוהי אחת מהפקודות הראשונות שכדאי להכיר אותן כשמתחילים לעבוד עם דוקר., אנו משתמשים בתמונת Nginx הרשמית כדי להציג דרכים שונות להריץ מיכל Docker.
פיקוד הפעלת Docker
פקודת
docker run
לובשת את הטופס הבא:
docker run IMAGE
שם התמונה שממנה יש ליצור את המיכל הוא הטיעון היחיד הנדרש לפקודת
docker run
. אם התמונה אינה קיימת במערכת המקומית, היא נשלפת מהרישום.
אם לא מצוין פקודה, הפקודה שצוינה בהוראות ה-
CMD
או
ENTRYPOINT
של
ENTRYPOINT
מבוצעת בעת הפעלת המיכל.
החל מגרסה 1.13, ה- Docker CLI בונה מחדש, וכל הפקודות קיבצו בקבוצה תחת האובייקט שאיתו הם מתקשרים.
מכיוון שפקודת
docker container
מקיימת אינטראקציה עם מכולות, כעת זוהי פקודת משנה של
docker container
. התחביר של הפקודה החדשה הוא כדלקמן:
docker container run IMAGE
התחביר הישן, לפני 1.13, עדיין נתמך. מתחת למכסה המנוע, פקודת
docker run
היא כינוי
docker container run
. משתמשים מעודדים להשתמש בתחביר הפקודה החדש.
רשימה של כל אפשרויות
docker container run
ניתן למצוא בדף התיעוד של Docker.
הרץ את המכולה בחזית
כברירת מחדל, כאשר לא ניתנת אפשרות לפקודת
docker run
, תהליך השורש מופעל בקדמת הבמה. משמעות הדבר היא שהקלט, הפלט והשגיאה הרגילים מתהליך השורש מחוברים לסשן המסוף.
docker container run nginx
הפלט של תהליך nginx יוצג בטרמינל שלך. מכיוון, אין חיבורים לשרת האינטרנט, הטרמינל ריק.
כדי לעצור את המכולה, סיים את תהליך ה- Nginx הפועל על ידי לחיצה על
CTRL+C
הפעל את המיכל במצב מנותק
כדי להשאיר את המכולה פועלת כשאתה יוצא מפגישה המסוף, הפעל אותו במצב מנותק. זה דומה להפעלת תהליך לינוקס ברקע.
השתמש באפשרות
-d
כדי להפעיל מיכל מנותק:
docker container run -d nginx
050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
המכולה המנותקת תיפסק עם סיום תהליך השורש.
אתה יכול לרשום את המכולות הפועלות באמצעות
docker container ls
.
כדי לצרף את הטרמינל שלך לתהליך שורש המכולה המנותק, השתמש בפקודה
docker container attach
של
docker container attach
.
הסר את המיכל לאחר היציאה
כברירת מחדל, כאשר המכולה יוצאת, מערכת הקבצים שלה נמשכת במערכת המארחת.
אפשרויות
--rm
הפעלת
--rm
להסיר את המיכל כאשר הוא יוצא אוטומטית:
docker container run --rm nginx
ייתכן שתמונת Nginx אינה הדוגמה הטובה ביותר לניקוי מערכת הקבצים של המיכל לאחר יציאת המיכל. אפשרות זו משמשת בדרך כלל על מכולות חזית המבצעות משימות לטווח קצר כמו בדיקות או גיבוי בסיס נתונים.
הגדר את שם המיכל
ב- Docker כל מיכל מזוהה על ידי
UUID
ושמו. כברירת מחדל, אם לא מוגדרת במפורש, שם המיכל נוצר אוטומטית על ידי הדמון Docker.
השתמש באפשרות - שם להקצאת שם מותאם אישית למכולה:
docker container run -d --name my_nginx nginx
שם המכולה חייב להיות ייחודי. אם תנסה להפעיל מיכל אחר עם אותו שם, תקבל שגיאה הדומה לזה:
docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.
הרץ את
docker container ls -a
כדי לרשום את כל המכולות, ולראות את שמותיהם:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx
השמות המשמעותיים מועילים להפניה למכולה בתוך רשת Docker או בעת הפעלת פקודות CLI של docker.
יציאות מכולות לפרסום
כברירת מחדל, אם לא פורסמו יציאות, התהליך שרץ במכולה נגיש רק מתוך המיכל.
פירוש יציאות פירושו מיפוי של יציאות מכולות ליציאות המכונה המארחות כך שהיציאות זמינות לשירותים מחוץ ל- Docker.
כדי לפרסם נמל השתמש באפשרויות
-p
באופן הבא:
-p host_ip:host_port:container_port/protocol
- אם לא צוין
host_ip
, ברירת המחדל היא ל-0.0.0.0
. אם לא מוגדרprotocol
, ברירת המחדל היא ל- TCP. כדי לפרסם מספר יציאות, השתמש באפשרויות-p
רבות.
כדי למפות את יציאת TCP 80 (nginx) במכל ליציאה 8080 בממשק localhost המארח, תפעיל:
docker container run --name web_server -d -p 8080:80 nginx
אתה יכול לאמת שהיציאה מתפרסמת על ידי פתיחת
http://localhost:8080
בדפדפן שלך או הפעלת פקודת התלתלים הבאה במארח Docker:
curl -I
הפלט ייראה כך:
HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes
שיתוף נתונים (הרכבת כרכים)
כאשר עצירת מכולה מוסרת כל הנתונים שנוצרו על ידי המיכל. אמצעי אחסון של Docker הם הדרך המועדפת לגרום לנתונים להישאר ולשתף אותם על פני מכולות מרובות.
כדי ליצור ולנהל אמצעי אחסון, השתמש באפשרויות
-p
כדלקמן:
-v host_src:container_dest:options
-
host_src
יכול להיות נתיב מוחלט לקובץ או לספרייה במארח או לכלי נפח בשם.container_dest
הוא נתיב מוחלט לקובץ או לספרייה במכל. אפשרויות יכולות להיותrw
(קריאה-כתיבה) ו-ro
(לקריאה בלבד)). אם לא מוגדרת אפשרות, ברירת המחדל היא ל-rw
.
כדי להסביר כיצד זה עובד, בואו ליצור מדריך במארח
index.html
קובץ
index.html
:
mkdir public_html
echo "Testing Docker Volumes" > public_html/index.html
בשלב הבא,
public_html
את ספריית
public_html
לתוך
/usr/share/nginx/html
במכל:
docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
במקום לציין את הנתיב המוחלט לספריה
public_html
, אנו משתמשים בפקודה
$(pwd)
, המדפיסה את ספריית העבודה הנוכחית.
כעת, אם אתה מקליד בדפדפן שלך
http://localhost:8080
, אתה אמור לראות את תוכן הקובץ
index.html
. אתה יכול גם להשתמש
curl
:
curl
הפעל את המכולה באופן אינטראקטיבי
כשאתה מתמודד עם תהליכים אינטראקטיביים כמו
bash
, השתמש באפשרויות
-i
ו-
-t
כדי להפעיל את המיכל.
האפשרויות-
-it
אומרת לדוקר לשמור על הקלט הסטנדרטי המחובר למסוף ולהקצות פסאודו-טטי:
docker container run -it nginx /bin/bash
מעטפת הבש של המכולה תצורף לטרמינל ושורת הפקודה תשתנה:
root@1da70f1937f5:/#
כעת תוכלו לקיים אינטראקציה עם מעטפת המכולה ולהפעיל כל פקודה שבתוכה.
בדוגמה זו סיפקנו פקודה (
/bin/bash
) כטיעון לפקודת
docker run
הדוקר שהוצאה במקום זו שצוינה ב- Dockerfile.
סיכום
Docker הוא התקן לאריזה ופריסת יישומים ורכיב חיוני ב- CI / CD, אוטומציה ו- DevOps.
פקודת
docker container run
משמשת ליצירה ולהפעלה של מכולות Docker.
מהו Cyberstalking? דוגמאות, מניעה, עזרה
מה זה עוקב מקוון? למה אנשים Cyberstalk? מהן הדרכים למנוע cyberstalking? היכן לדווח? הודעה זו תסתכל על כל השאלות האלה.
מהו שיבוש דיגיטלי: הגדרה, משמעות, דוגמאות
מה המשמעות של הפרעה דיגיטליות? הודעה זו מסבירה את הגדרתה, כלומר בדוגמאות. גם לראות איך זה שונה מ Disruptive Technology.
לינוקס לחתוך את הפקודה עם דוגמאות
Cut הוא כלי שורת פקודה המאפשר לחתוך חלקי שורות מקבצים שצוינו או נתונים שצוירו ולהדפיס את התוצאה לפלט סטנדרטי. במדריך זה, נראה לך כיצד להשתמש בפקודה לחתוך לינוקס באמצעות דוגמאות מעשיות והסברים מפורטים על אפשרויות החיתוך הנפוצות ביותר.