Files

121 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

2026-05-11 15:30:57 +03:30
# راهنمای استفاده از Docker
## نصب Docker
اگر Docker روی سیستم شما نصب نیست، می‌توانید از یکی از روش‌های زیر استفاده کنید:
### Windows
1. **Docker Desktop برای Windows** را دانلود و نصب کنید:
- دانلود از: https://www.docker.com/products/docker-desktop/
- پس از نصب، Docker Desktop را اجرا کنید
- منتظر بمانید تا Docker شروع به کار کند
2. **بررسی نصب:**
```powershell
docker --version
docker compose version
```
### Linux
```bash
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# اضافه کردن کاربر به گروه docker
sudo usermod -aG docker $USER
```
### macOS
1. **Docker Desktop برای Mac** را دانلود و نصب کنید:
- دانلود از: https://www.docker.com/products/docker-desktop/
## ساخت و اجرای کانتینر
### استفاده از Docker Compose (پیشنهادی)
**نکته:** در نسخه‌های جدید Docker، از `docker compose` (با فاصله) استفاده می‌شود به جای `docker-compose` (با خط تیره).
```bash
# ساخت و اجرای کانتینر
docker compose up -d
# مشاهده لاگ‌ها
docker compose logs -f
# توقف کانتینر
docker compose down
# ساخت مجدد و اجرا
docker compose up -d --build
```
**اگر دستور بالا کار نکرد، از نسخه قدیمی استفاده کنید:**
```bash
docker-compose up -d
```
### استفاده مستقیم از Docker
```bash
# ساخت image
docker build -t montazeran .
# اجرای کانتینر
docker run -p 3000:3000 montazeran
# اجرا در حالت detached
docker run -d -p 3000:3000 --name montazeran-app montazeran
```
## دسترسی به اپلیکیشن
پس از اجرای کانتینر، اپلیکیشن در آدرس زیر در دسترس است:
- http://localhost:3000
## عیب‌یابی
### مشکل: دستور docker شناسایی نمی‌شود
**راه حل:**
1. مطمئن شوید Docker Desktop نصب و در حال اجرا است
2. PowerShell را بسته و دوباره باز کنید
3. یا از Command Prompt استفاده کنید
4. بررسی کنید که Docker در PATH سیستم قرار دارد
### مشکل: Port 3000 در حال استفاده است
**راه حل:**
```bash
# تغییر پورت در docker-compose.yml
ports:
- "3001:3000" # حالا از پورت 3001 استفاده کنید
```
یا کانتینر دیگری که از پورت 3000 استفاده می‌کند را متوقف کنید.
## متغیرهای محیطی
اگر نیاز به تنظیم متغیرهای محیطی دارید، می‌توانید فایل `.env` را ایجاد کنید و در `docker-compose.yml` آن را اضافه کنید:
```yaml
services:
next-app:
env_file:
- .env
```
یا به صورت مستقیم:
```yaml
services:
next-app:
environment:
- NODE_ENV=production
- NEXT_PUBLIC_API_URL=https://api.example.com
```