Docker برای Windows

آموزش نصب Docker Desktop روی Windows؛ WSL2، خطاهای رایج و اجرای اولین کانتینر

Docker Desktop روی Windows راه ساده‌ای برای اجرای کانتینرها در محیط توسعه است، اما مشکلات WSL2، Virtualization، پورت‌ها و مسیر فایل‌ها باعث سردرگمی بسیاری از کاربران می‌شود.

این مقاله قدم‌به‌قدم توضیح می‌دهد قبل از نصب چه چیزهایی لازم است، چطور اولین کانتینر را اجرا کنید، چطور خطاهای رایج را تشخیص دهید و برای پروژه‌های واقعی از Docker Desktop درست استفاده کنید.

پیش‌نیازهای مهم

  • Windows 10 یا Windows 11 سازگار داشته باشید.
  • Virtualization در BIOS/UEFI فعال باشد.
  • WSL2 نصب و آماده باشد.
  • فضای دیسک و RAM کافی داشته باشید.
  • اگر سیستم شرکتی است، وضعیت لایسنس Docker Desktop را بررسی کنید.
wsl --status
wsl -l -v
wsl --install -d Ubuntu

نصب Docker Desktop

نصب‌کننده را از سایت رسمی Docker دریافت کنید، گزینه WSL2 را فعال نگه دارید، سیستم را restart کنید و بعد Docker Desktop را اجرا کنید. در Settings بخش Resources و WSL Integration را بررسی کنید تا توزیع Ubuntu شما به Docker وصل باشد.

اجرای اولین کانتینر

docker --version
docker compose version
docker run hello-world
docker run -d --name salam-nginx-test -p 8080:80 nginx:alpine
docker ps
# مرورگر: http://localhost:8080
docker stop salam-nginx-test
docker rm salam-nginx-test

بهترین روش کار با پروژه‌ها داخل WSL2

برای پروژه‌هایی مثل Laravel، Node.js، Python و ابزارهای لینوکسی، بهتر است فایل پروژه داخل filesystem خود WSL باشد، نه الزاماً در مسیرهای ویندوزی. این کار معمولاً سرعت بهتر و خطای کمتر می‌دهد.

wsl
mkdir -p ~/projects
cd ~/projects

خطاهای رایج Docker Desktop

خطا علت راه‌حل
WSL 2 installation is incomplete WSL2 کامل نیست wsl –update و restart را انجام دهید.
Virtualization must be enabled مجازی‌سازی در BIOS خاموش است Intel VT-x یا AMD-V را فعال کنید.
Docker Engine stopped سرویس Docker اجرا نشده یا منابع کم است Docker Desktop را restart و Resources را بررسی کنید.
Port is already allocated پورت قبلاً اشغال شده پورت دیگری map کنید یا سرویس قبلی را ببندید.
Volume کند است پروژه روی مسیر کند ویندوز است پروژه را داخل WSL منتقل کنید.

سوالات متداول Docker Desktop

آیا Docker Desktop به WSL2 نیاز دارد؟

در حالت پیشنهادی ویندوز، بله؛ WSL2 بهترین backend برای بیشتر پروژه‌های لینوکسی است.

چرا Docker Desktop باز نمی‌شود؟

ممکن است Virtualization خاموش باشد، WSL2 نصب نشده باشد یا Docker Engine هنوز Running نشده باشد.

آیا Docker Desktop برای شرکت‌ها رایگان است؟

برای استفاده شخصی و کسب‌وکارهای کوچک شرایطی دارد؛ سازمان‌های بزرگ طبق شرایط Docker ممکن است نیاز به اشتراک داشته باشند.

پروژه را کجا نگه دارم؟

برای پروژه‌های لینوکسی، نگهداری داخل filesystem خود WSL معمولاً سریع‌تر و سازگارتر است.

چرا localhost کار نمی‌کند؟

ممکن است پورت publish نشده، کانتینر خاموش باشد یا Firewall ویندوز مانع شود.

جمع‌بندی: Docker Desktop روی Windows برای توسعه عالی است؛ به شرطی که WSL2، Virtualization، مسیر پروژه و منابع سیستم درست تنظیم شده باشند.