Skip to content

פקודות Docker עם הסברים

פקודות Docker שבאמת משתמשים בהן, מקובצות לפי תפקיד: בנייה והעברה של images, הרצה ועצירה של containers, כיוונון docker run עם flags, קריאת logs וסטטיסטיקות, הצצה לתוך container, העתקת קבצים ותקשורת עם registries, ניהול volumes ורשתות, הנעת Compose ופינוי שטח דיסק.

ל־Docker שני אובייקטים: images (התבנית לקריאה בלבד) ו־containers (מופע רץ של image). בונים או מושכים image, מריצים אותו כ־container, מתבוננים במתרחש ואז מנקים. רוב האנשים גם משתמשים ב־Compose כדי להגדיר אפליקציות מרובות containers. לכל פקודה להלן יש צורה קצרה; הצורה הארוכה מוצגת כשהיא הבהירה יותר.

טבלת עזר · 75 ערכים
75 of 75 rows
בנייה
בונה image מ־Dockerfile.docker build -t app:1.0 .
בונה את ה־image מחדש מאפס, בלי להשתמש בשכבות שנשמרו במטמון.docker build --no-cache -t app:1.0 .
בונה רק עד שלב בשם ב־Dockerfile רב־שלבי.docker build --target deps -t app:deps .
בונה images דרך תוסף ה־buildx, שמניע את BuildKit.docker buildx build -t app:1.0 .
בונה image אחד לכמה ארכיטקטורות CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Images
מוריד image מ־registry.docker pull node:20
מציג רשימת images השמורים מקומית.docker images
יוצר tag חדש שמצביע על אותו image.docker tag app:1.0 app:latest
מסיר image מקומי אחד או יותר.docker rmi app:1.0
מחזור חיים של container
יוצר ומריץ container מ־image.docker run -p 8080:3000 app
יוצר container בלי להריץ אותו.docker create --name web app
מריץ container שנעצר.docker start web
עוצר container רץ בעדינות.docker stop web
עוצר ומריץ container בצעד אחד.docker restart web
עוצר container בכוח בלי לחכות לכיבוי עדין.docker kill web
מקפיא את כל התהליכים בתוך container.docker pause web
מפשיר את התהליכים של container מוקפא.docker unpause web
חוסם עד ש־container נעצר, ואז מדפיס את קוד היציאה שלו.docker wait web
מציג רשימת containers רצים; הוסיפו -a כדי לכלול גם עצורים.docker ps -a
נותן ל־container קיים שם חדש.docker rename web web-old
משנה מגבלות משאבים או מדיניות restart של container.docker update --restart=unless-stopped web
מסיר container עצור.docker rm web
פלאגים של run
מריץ את ה־container ברקע ומדפיס את ה־ID שלו.docker run -d -p 8080:80 app
מפרסם פורט של ה־container על פורט של המארח.docker run -p 8080:80 app
מעמיס תיקיית מארח או volume בשם לתוך ה־container.docker run -v app-data:/data app
קובע משתנה סביבה בתוך ה־container.docker run -e MODE=prod app
נותן ל־container שם קבוע לשימוש בפקודות הבאות.docker run --name web app
מוחק את ה־container כשהוא מסתיים.docker run --rm app
מריץ את ה־container ברשת מסוימת.docker run --network net app
אומר ל־Docker מתי להריץ מחדש את ה־container.docker run --restart unless-stopped app
מקצה טרמינל ומשאיר את stdin פתוח ל session אינטראקטיבי.docker run -it alpine sh
מחליף את ה־entrypoint של ה־image בפקודה משלכם.docker run --entrypoint sh app
מגביל את הזיכרון או נתח ה־CPU שה־container יכול להשתמש בהם.docker run --memory 512m --cpus 0.5 app
בדיקה
קורא את ה־stdout וה־stderr של container; ה־-f עוקב אחר פלט חדש כשהוא מגיע.docker logs -f web
מציג תצורה ומצב ברמה נמוכה של container או image.docker inspect web
שולף שדה אחד מה־inspect עם Go template.docker inspect --format '{{.State.Status}}' web
מציג רשימת פורטי המארח שה־container מפרסם.docker port web
מציג קבצים שה־container שינה ביחס ל־image שלו.docker diff web
CPU, זיכרון ורשת חיים ל־containers רצים.docker stats
מציג רשימת תהליכים שרצים בתוך container.docker top web
מזרים אירועי Docker מה־daemon כשהם קורים.docker events --filter type=container
מציג שטח דיסק ש־images, containers, volumes והמטמון משתמשים בו.docker system df
מציג הגדרות ומצב כלל־מערכתיים של Docker.docker info
Exec ו־attach
מריץ פקודה בתוך container רץ.docker exec -it web sh
מחבר את הטרמינל שלכם לתהליך הראשי של ה־container.docker attach web
קבצים ו־registry
מעתיק קבצים בין container לבין מערכת הקבצים המקומית.docker cp web:/app/logs ./logs
נכנס ל־registry מה־CLI.docker login
מתנתק מ־registry.docker logout
מעלה image מקומי ל־registry.docker push user/app:1.0
כותב image לקובץ tar.docker save -o app.tar app:1.0
קורא image מקובץ tar.docker load -i app.tar
כותב את מערכת הקבצים של ה־container לקובץ tar.docker export web > web.tar
יוצר image ממערכת קבצים ב־tar.docker import web.tar web:snap
הופך את המצב הנוכחי של container ל־image חדש.docker commit web app:snap
Volumes
יוצר volume בשם לנתונים עמידים.docker volume create data
מציג רשימת volumes.docker volume ls
מסיר volume.docker volume rm data
רשתות
מציג רשימת רשתות.docker network ls
יוצר רשת כדי ש־containers יוכלו להגיע זה לזה.docker network create net
מחבר container רץ לרשת.docker network connect net web
Compose
בונה, יוצר מחדש ומריץ את השירותים ב־compose.yaml; ‎-d משאיר אותם רצים ברקע.docker compose up -d
מריץ את השירותים ובונה קודם את ה־images שלהם מחדש.docker compose up --build -d
מריץ פקודה בתוך container של שירות רץ.docker compose exec api sh
עוקב אחר logs של שירות אחד או יותר.docker compose logs -f api
מציג רשימת containers של השירותים ש־Compose מנהל.docker compose ps
עוצר את containers של השירותים בלי להסירם.docker compose stop
מריץ מחדש את containers של השירותים.docker compose restart api
עוצר ומסיר containers ורשתות; ‎-v מסיר גם volumes בשם.docker compose down
מציג את תצורת Compose הסופית אחרי מיזוגים והחלפת משתני סביבה.docker compose config
ניקוי
מסיר containers עצורים, images תלויים ורשתות שאינן בשימוש; ‎-a --volumes מסיר גם images ו־volumes שאינם בשימוש.docker system prune -af
מסיר את כל ה־containers העצורים.docker container prune
מסיר images שאינם בשימוש או תלויים.docker image prune -a
מסיר volumes שאף container לא משתמש בהם.docker volume prune
מסיר רשתות שאף container לא משתמש בהן.docker network prune
מסיר את שכבות הבנייה השמורות במטמון.docker builder prune