Skip to content

دستورات Docker مرجع سریع

دستورات Docker که در کار روزمره استفاده می‌شوند، گروه‌بندی‌شده بر اساس کار: ساخت و جابه‌جایی image ها، اجرا و متوقف‌کردن container ها، تنظیم docker run با flag ها، خواندن log و آمار، دسترسی به داخل container، کپی فایل‌ها و کار با registry ها، مدیریت volume و network، راه‌اندازی Compose، و آزادکردن فضای دیسک.

در Docker دو شیء وجود دارد: image (قالب فقط-خواندنی) و container (یک نمونه در حال اجرا از یک image). یک image را می‌سازید یا pull می‌کنید، آن را به‌عنوان container اجرا می‌کنید، بررسی می‌کنید چه اتفاقی می‌افتد و بعد پاک‌سازی می‌کنید. بیشتر افراد برای تعریف برنامه‌های چند-containerی از Compose هم استفاده می‌کنند. هر دستور زیر یک شکل کوتاه دارد؛ شکل بلند آنجا نمایش داده شده که واضح‌تر باشد.

جدول مرجع · 75 مورد
75 of 75 rows
ساخت
ساخت یک image از روی یک Dockerfile.docker build -t app:1.0 .
ساخت دوباره image از صفر، با نادیده‌گرفتن لایه‌های کش‌شده.docker build --no-cache -t app:1.0 .
ساخت فقط تا یک stage مشخص در یک Dockerfile چندمرحله‌ای.docker build --target deps -t app:deps .
ساخت image ها از طریق افزونه buildx که BuildKit را هدایت می‌کند.docker buildx build -t app:1.0 .
ساخت یک image برای چند معماری CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Image ها
دانلود یک image از یک registry.docker pull node:20
فهرست‌کردن image های ذخیره‌شده به‌صورت محلی.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 متوقف‌شده (pause) به حالت اجرا.docker unpause web
مسدودماندن تا توقف container و سپس چاپ کد خروج آن.docker wait web
فهرست‌کردن container های در حال اجرا؛ با افزودن -a موارد متوقف‌شده هم می‌آیند.docker ps -a
دادن نام جدید به یک container موجود.docker rename web web-old
تغییر محدودیت‌های منابع یا سیاست restart یک container.docker update --restart=unless-stopped web
حذف یک container متوقف‌شده.docker rm web
Flag های run
اجرای container در پس‌زمینه و چاپ شناسه آن.docker run -d -p 8080:80 app
انتشار یک پورت container روی یک پورت host.docker run -p 8080:80 app
سوارکردن یک پوشه host یا یک 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 روی یک network مشخص.docker run --network net app
به Docker گفتن چه زمانی container را دوباره اجرا کند.docker run --restart unless-stopped app
تخصیص terminal و بازنگه‌داشتن stdin برای یک نشست تعاملی.docker run -it alpine sh
جایگزینی entrypoint تصویر با دستور خودتان.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
فهرست‌کردن پورت‌های host که یک container منتشر می‌کند.docker port web
نمایش فایل‌هایی که یک container نسبت به image خود تغییر داده است.docker diff web
CPU، حافظه و شبکه زنده برای container های در حال اجرا.docker stats
فهرست‌کردن پردازه‌های در حال اجرا داخل یک container.docker top web
پخش جریانی رویدادهای Docker از daemon همان‌طور که رخ می‌دهند.docker events --filter type=container
نمایش فضای دیسک استفاده‌شده توسط image ها، container ها، volume ها و کش.docker system df
نمایش تنظیمات و وضعیت سراسری Docker.docker info
Exec و attach
اجرای یک دستور داخل یک container در حال اجرا.docker exec -it web sh
پیونددادن terminal شما به پردازه اصلی یک container.docker attach web
فایل‌ها و registry
کپی فایل‌ها بین یک container و فایل‌سیستم محلی.docker cp web:/app/logs ./logs
ورود به یک registry از خط فرمان.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
Volume ها
ایجاد یک volume نامدار برای داده‌های ماندگار.docker volume create data
فهرست‌کردن volume ها.docker volume ls
حذف یک volume.docker volume rm data
Network ها
فهرست‌کردن network ها.docker network ls
ایجاد یک network تا container ها به هم برسند.docker network create net
اتصال یک container در حال اجرا به یک network.docker network connect net web
Compose
ساخت، (باز)ایجاد و اجرای سرویس‌های compose.yaml؛ گزینه -d آن‌ها را در پس‌زمینه اجرا نگه می‌دارد.docker compose up -d
اجرای سرویس‌ها و ابتدا ساختن دوباره image هایشان.docker compose up --build -d
اجرای یک دستور داخل container یک سرویس در حال اجرا.docker compose exec api sh
دنبال‌کردن log های یک یا چند سرویس.docker compose logs -f api
فهرست‌کردن container های سرویس‌هایی که Compose مدیریت می‌کند.docker compose ps
متوقف‌کردن container های سرویس بدون حذف آن‌ها.docker compose stop
اجرای دوباره container های سرویس.docker compose restart api
متوقف‌کردن و حذف container ها و network ها؛ گزینه -v volume های نامدار را هم حذف می‌کند.docker compose down
نمایش پیکربندی نهایی Compose پس از merge ها و جایگزینی متغیرهای محیطی.docker compose config
پاک‌سازی
حذف container های متوقف‌شده، image های dangling و network های بی‌استفاده؛ گزینه -a --volumes image ها و volume های بی‌استفاده را هم حذف می‌کند.docker system prune -af
حذف همه container های متوقف‌شده.docker container prune
حذف image های بی‌استفاده یا dangling.docker image prune -a
حذف volume هایی که هیچ container ای استفاده نمی‌کند.docker volume prune
حذف network هایی که هیچ container ای استفاده نمی‌کند.docker network prune
حذف لایه‌های build کش‌شده.docker builder prune