ضروریترین دستورات داکر (Docker) که هر کاربری باید بداند

داکر (Docker) یک پلتفرم قدرتمند است که به کاربران امکان میدهد برنامهها را بسازند، اجرا کنند و مدیریت نمایند؛ همهی این کارها درون کانتینرها (Containers) انجام میشود. برای انجام کارهایی مثل ساخت ایمیجها (Images)، مدیریت کانتینرها، شبکهها (Networks) و ولومها (Volumes)، ما از دستورات داکر استفاده میکنیم. آشنایی با این دستورات به ما کمک میکند تا به شکلی مؤثر و بهینه با برنامههای کانتینری کار کنیم.
در این راهنما، مهمترین دستورات داکر را که هر کاربری باید بیاموزد، بررسی خواهیم کرد. هر دستور شامل نحوهی استفاده (Syntax)، مثالها و کاربردهای عملی است تا به شما کمک کند نحوهی کارکرد آنها را در پروژههای واقعی درک کنید.
| دستور | شرح (Description) | نحوهی پایهای (Basic Syntax) |
| docker ps | نمایش کانتینرهای در حال اجرا. | docker ps [OPTIONS] |
| docker run | ایجاد و اجرای یک کانتینر جدید از روی یک ایمیج. | docker run [OPTIONS] IMAGE |
| docker stop | متوقف کردن یک کانتینر در حال اجرا. | docker stop CONTAINER |
| docker start | ازسرگیری یک کانتینر که قبلاً متوقف شده است. | docker start CONTAINER |
| docker restart | راهاندازی مجدد یک کانتینر برای اعمال تغییرات. | docker restart CONTAINER |
| docker exec | اجرای یک دستور درون یک کانتینر در حال اجرا. | docker exec [OPTIONS] CONTAINER COMMAND |
| docker logs | مشاهدهی لاگهای یک کانتینر. | docker logs [OPTIONS] CONTAINER |
| docker build | ساخت یک ایمیج داکر سفارشی از روی فایل Dockerfile. | docker build [OPTIONS] PATH |
| docker images | نمایش لیست ایمیجهای محلی داکر. | docker images |
| docker rmi | حذف یک ایمیج داکر. | docker rmi IMAGE |
| docker pull | دانلود یک ایمیج از یک رجیستری (مثل Docker Hub). | docker pull IMAGE |
| docker push | ارسال (Push) یک ایمیج به یک رجیستری. | docker push IMAGE |
| docker stats | نظارت بر مصرف منابع بهصورت زنده. | docker stats [CONTAINER] |
| docker system prune | حذف کانتینرها، ایمیجها، شبکهها و به صورت اختیاری ولومهای بلااستفاده. | docker system prune [OPTIONS] |
| docker compose up | اجرای سرویسهای چندکانتینری تعریفشده در فایل کامپوز. | docker compose up [OPTIONS] |
| docker compose down | توقف و حذف سرویسهای چندکانتینری. | docker compose down |
حالا بیایید به چند مثال ساده نگاه کنیم تا ببینیم این دستورات در موقعیتهای واقعی چگونه کار میکنند.
۱. نمایش کانتینرهای در حال اجرا: docker ps
دستور docker ps تمام کانتینرهای در حال اجرا را نشان میدهد. این دستور مانند یک مدیریت وظایف (Task Manager) برای داکر عمل میکند و اطلاعاتی نظیر شناسهی کانتینر (ID)، نام، وضعیت و نگاشت پورتها (Port Mappings) را نمایش میدهد.
docker ps
همچنین میتوانید از دستور docker ps به همراه گزینهی -a استفاده کنید تا هم کانتینرهای در حال اجرا و هم کانتینرهای متوقفشده را مشاهده کنید.
docker ps -a
۲. اجرای کانتینر جدید: docker run
دستور docker run برای اجرای یک کانتینر جدید از روی یک ایمیج استفاده میشود، که معمولاً اولین قدم در راهاندازی یک برنامه است.
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
میتوانید با استفاده از گزینههای مختلف، نحوهی اجرای کانتینر را تنظیم کنید. بهعنوان مثال، گزینهی -d کانتینر را در پسزمینه (Background) اجرا میکند تا ترمینال شما آزاد بماند، و گزینهی -p پورتها را بین سیستم شما و کانتینر نگاشت (Map) میکند. در اینجا یک مثال ساده آمده است:
docker run -d -p 8080:80 nginx
این دستور یک کانتینر NGINX را در پسزمینه اجرا میکند و آن را از طریق پورت ۸۰۸۰ سیستم شما قابل دسترسی میسازد (پورت ۸۰ داخل کانتینر به ۸۰۸۰ سیستم شما متصل میشود). مرورگر خود را باز کرده و به آدرس http://localhost:8080 بروید. اگر همهچیز درست کار کند، باید صفحهی پیشفرض خوشآمدگویی NGINX را ببینید.
۳. بررسی لاگهای کانتینر: docker logs
دستور docker logs به شما امکان میدهد خروجی تولیدشده توسط یک کانتینر را، چه در حال اجرا باشد و چه متوقف شده باشد، مشاهده کنید. این دستور بهویژه زمانی مفید است که میخواهید بررسی کنید درون برنامهی شما چه اتفاقی میافتد، به دنبال خطاها بگردید یا بفهمید چرا چیزی مطابق انتظار کار نمیکند. به عنوان مثال، میتوانید از دستور زیر برای مشاهدهی لاگهای یک کانتینر خاص، مانند openwebui، استفاده کنید:
docker logs openwebui
۴. دانلود ایمیج: docker pull
دستور docker pull برای دانلود یک ایمیج داکر از یک رجیستری عمومی یا خصوصی، مانند Docker Hub، استفاده میشود. زمانی از آن استفاده میکنیم که ایمیج مورد نیاز از قبل روی سیستم ما موجود نباشد. این دستور به ما کمک میکند تا بهسرعت ایمیجهای آماده را بدون نیاز به ساخت آنها از ابتدا به دست آوریم. همچنین میتوانیم نسخههای خاصی را با استفاده از تگها (Tags) دانلود کنیم تا مطمئن شویم با نسخهی دقیقی که نیاز داریم کار میکنیم.
بهعنوان مثال، میتوانید دستور زیر را برای دریافت آخرین ایمیج اوبونتو (Ubuntu) اجرا کنید:
docker pull ubuntu:latest
۵. بازرسی کانتینر یا ایمیج: docker inspect
دستور docker inspect اطلاعات فنی دقیق در مورد یک کانتینر یا ایمیج را به شما میدهد؛ اطلاعاتی مانند تنظیمات شبکه، ولومهای متصلشده، متغیرهای محیطی و جزئیات پیکربندی. بهعنوان مثال، برای بازرسی کانتینر OpenWebUI از این دستور استفاده میکنیم:
docker inspect openwebui
این دستور برای اشکالزدایی مشکلات پیکربندی یا بررسی ساختار داخلی یک کانتینر بسیار مفید است.
۶. نظارت بر مصرف منابع: docker stats
دستور docker stats به شما امکان میدهد تا مصرف شبکه، CPU، حافظه (Memory) و دیسک کانتینرهای در حال اجرا را بهصورت بلادرنگ (Real-Time) ردیابی کنید.
docker stats
همچنین میتوانید فقط یک کانتینر خاص را نظارت کنید:
docker stats openwebui
این دستور مانند یک داشبورد عملکرد زندهی داکر عمل میکند.
۷. اجرای برنامههای چندکانتینری: docker compose up
اگر پروژهی شما از چندین سرویس مانند یک API بکاند، یک برنامهی فرانتاند و یک پایگاه داده استفاده میکند، میتوانید همهی آنها را با Docker Compose مدیریت کنید. بهعنوان مثال، میتوانید از دستور زیر برای راهاندازی تمام سرویسهای تعریفشده در فایل داکر خود استفاده کنید:
docker compose up -d
در اینجا، فلگ -d سرویسها را در پسزمینه اجرا میکند. این دستور مدیریت برنامههای پیچیده را تنها با یک فرمان آسانتر میکند.
۸. پاکسازی منابع داکر: docker system prune
داکر به مرور زمان دادههای بلااستفادهای مانند ایمیجهای قدیمی، کانتینرهای متوقفشده، ولومهای آویزان (Dangling Volumes) و شبکههای بدون استفاده را جمعآوری میکند. میتوانید با دستور زیر، آنها را پاکسازی کنید:
docker system prune
پس از اجرای دستور، y را تایپ کنید تا کانتینرهای متوقفشده، شبکههای بدون استفاده، ایمیجهای آویزان و کش (Cache) ساخت بلااستفاده پاک شوند.
اگر میخواهید همهچیز، از جمله ولومهای بدون استفاده و تمام ایمیجهای بدون استفاده را حذف کنید، میتوانید از دستور زیر استفاده نمایید:
docker system prune -a --volumes
این کار سیستم شما را تمیز نگه میدارد و از بروز مشکلات فضای ذخیرهسازی جلوگیری میکند.
۹. مشاهدهی راهنمای دستورات: docker --help
اگر یک دستور داکر را فراموش کردید یا میخواهید گزینههای بیشتری را بررسی کنید، میتوانید با دستور زیر به صفحهی راهنما دسترسی پیدا کنید:
docker --help
به همین ترتیب، میتوانید با مشخص کردن نام دستور، به صفحهی راهنمای یک فرمان خاص دسترسی پیدا کنید. بهعنوان مثال، دستور زیر فلگهای موجود، زیردستورها (Subcommands) و توضیحات مفصل را برای دستور docker ps برمیگرداند:
docker ps --help
جمعبندی
در این راهنما، ما مهمترین دستورات داکر را که توسعهدهندگان روزانه از آنها استفاده میکنند، مرور کردیم؛ از اجرای کانتینرها و مدیریت ایمیجها گرفته تا نظارت بر عملکرد و پاکسازی سیستم. تسلط بر این دستورات به شما کمک میکند تا برنامههای کانتینری خود را با کارایی بیشتری مدیریت و نگهداری کنید و در محیطهای توسعه و عملیاتی (Production) موفقتر باشید.
بیشتر بخوانید:
داکر در مقابل ماشین مجازی: از کدام استفاده کنیم؟ چه تفاوتی دارند؟
اجرای داکر در ویندوز بدون دردسر – روش WSL 2 برای توسعه سریع
نحوه ادغام داکر در Visual Studio Code

















