דף עזר Docker
מדריך Docker לחיפוש והדפסה — אימג'ים, מכולות, אפשרויות הרצה, Dockerfile, נפחים, רשתות, Compose וניקוי. בחינם.
אימג'ים
10docker pull nginx:latest
הורדת image מ-registry
docker images
הצגת images המאוחסנים מקומית
docker build -t app:1.0 .
בניית image מהתיקייה הנוכחית
docker tag app:1.0 app:latest
הוספת תגית חדשה ל-image קיים
docker rmi app:1.0
הסרת image מקומי
docker history app:1.0
הצגת השכבות של image
docker inspect app:1.0
הצגת פרטי image ברמה נמוכה (JSON)
docker save -o app.tar app:1.0
ייצוא image לארכיון tar
docker load -i app.tar
ייבוא image מארכיון tar
docker image prune
הסרת images תלויים (לא בשימוש)
קונטיינרים
10docker ps
הצגת containers פעילים
docker ps -a
הצגת כל ה-containers (כולל עצורים)
docker run nginx
יצירה והפעלה של container חדש
docker start web
הפעלת container עצור
docker stop web
עצירה מסודרת של container
docker restart web
הפעלה מחדש של container
docker kill web
עצירה כפויה של container (SIGKILL)
docker rm web
הסרת container עצור
docker rename web api
שינוי שם container
docker pause web
השהיית כל התהליכים ב-container
אפשרויות הרצה
11docker run -d nginx
הרצה מנותקת ברקע
docker run -it ubuntu bash
session טרמינל אינטראקטיבי
docker run --name web nginx
הקצאת שם container מותאם
docker run -p 8080:80 nginx
מיפוי פורט host לפורט container
docker run -v data:/var/lib nginx
עיגון volume בעל שם
docker run -e ENV=prod app
הגדרת משתנה סביבה
docker run --rm alpine echo hi
הסרה אוטומטית לאחר היציאה
docker run --network mynet app
חיבור ל-network מסוים
docker run --restart unless-stopped app
מדיניות הפעלה מחדש ל-container
docker run -w /app node
הגדרת תיקיית העבודה
docker run --memory 512m --cpus 1.5 app
הגבלת שימוש בזיכרון וב-CPU
exec ולוגים
10docker exec -it web bash
פתיחת shell בתוך container
docker exec web ls /app
הרצת פקודה חד-פעמית ב-container
docker logs web
הצגת לוגי ה-container
docker logs -f web
מעקב (tail) אחר לוגים בזמן אמת
docker top web
הצגת תהליכים פעילים ב-container
docker stats
שימוש משאבים חי של containers
docker attach web
חיבור ל-container פעיל
docker cp web:/app/log.txt .
העתקת קבצים בין host ל-container
docker port web
הצגת מיפויי פורטים ל-container
docker inspect web
הצגת פרטי container ברמה נמוכה
build ו-Dockerfile
14FROM node:20-alpine
image בסיס ל-build
WORKDIR /app
הגדרת תיקיית העבודה
COPY . .
העתקת קבצים לתוך ה-image
ADD app.tar.gz /app
העתקה (וחילוץ אוטומטי של ארכיונים/URLs)
RUN npm install
הרצת פקודה בזמן build
ENV NODE_ENV=production
הגדרת משתנה סביבה קבוע
ARG VERSION=1.0
ארגומנט בזמן build
EXPOSE 3000
תיעוד הפורט המאזין
VOLUME /data
הצהרה על נקודת עיגון
USER node
הרצה כמשתמש שאינו root
HEALTHCHECK CMD curl -f localhost
הגדרת בדיקת תקינות ל-container
CMD ['node', 'app.js']
פקודת ברירת מחדל (ניתנת לדריסה)
ENTRYPOINT ['docker-entrypoint.sh']
קובץ הרצה קבוע ל-container
FROM build AS final
הפניה לשלב ב-build רב-שלבי
volumes
10docker volume create data
יצירת volume בעל שם
docker volume ls
הצגת כל ה-volumes
docker volume inspect data
הצגת פרטים של volume
docker volume rm data
הסרת volume
docker volume prune
הסרת כל ה-volumes שאינם בשימוש
docker run -v data:/app nginx
עיגון volume בעל שם
docker run -v $(pwd):/app nginx
bind-mount של התיקייה הנוכחית
docker run -v $(pwd):/app:ro nginx
bind-mount לקריאה בלבד
docker run --mount type=volume,src=data,dst=/app nginx
עיגון באמצעות התחביר המפורט
docker run --tmpfs /tmp nginx
עיגון tmpfs בזיכרון
רשתות
10docker network create mynet
יצירת network מוגדר משתמש
docker network ls
הצגת networks
docker network inspect mynet
הצגת פרטים של network
docker network connect mynet web
חיבור container ל-network
docker network disconnect mynet web
ניתוק container מ-network
docker network rm mynet
הסרת network
docker network prune
הסרת כל ה-networks שאינם בשימוש
docker network create -d bridge mynet
יצירת network עם driver
docker run --network host nginx
שימוש ב-network stack של ה-host
docker run --network none alpine
השבתת רשת ל-container
Docker Compose
11docker compose up -d
הפעלת כל השירותים ברקע
docker compose down
עצירה והסרה של ה-stack
docker compose ps
הצגת השירותים ב-stack
docker compose logs -f
מעקב אחר לוגים מכל השירותים
docker compose build
בנייה או בנייה מחדש של images של שירותים
docker compose pull
משיכת images אחרונים של שירותים
docker compose exec web bash
הרצת פקודה בשירות פעיל
docker compose restart
הפעלה מחדש של כל השירותים
docker compose stop
עצירת שירותים מבלי להסירם
docker compose config
אימות והצגה של התצורה הממוזגת
docker compose up --scale web=3
הרצת מספר replicas של שירות
registry
8docker login
אימות מול registry
docker login registry.example.com
התחברות ל-registry מותאם
docker logout
הסרת אישורי registry מאוחסנים
docker tag app user/app:1.0
תיוג image עבור repository
docker push user/app:1.0
העלאת image ל-registry
docker pull user/app:1.0
הורדת image מ-registry
docker search nginx
חיפוש images ב-Docker Hub
docker manifest inspect nginx
בדיקת manifest רב-ארכיטקטורות
מערכת וניקוי
10docker info
הצגת מידע Docker מערכתי
docker version
הצגת גרסאות client ו-server
docker system df
הצגת שימוש בדיסק של Docker
docker system prune
הסרת נתונים שאינם בשימוש (ברירות מחדל בטוחות)
docker system prune -a
הסרת כל ה-images והנתונים שאינם בשימוש
docker container prune
הסרת כל ה-containers העצורים
docker image prune
הסרת images תלויים
docker volume prune
הסרת כל ה-volumes שאינם בשימוש
docker network prune
הסרת כל ה-networks שאינם בשימוש
docker stats --no-stream
תמונת מצב של שימוש משאבים
אף רשומה אינה תואמת ל-„:q”.
צריך עזרה?
נתקלת בבעיה בכלי הזה? ספר לצוות שלנו.