next-ArAB/DOCKER.md

3.1 KiB

راهنمای استفاده از Docker

نصب Docker

اگر Docker روی سیستم شما نصب نیست، می‌توانید از یکی از روش‌های زیر استفاده کنید:

Windows

  1. Docker Desktop برای Windows را دانلود و نصب کنید:

  2. بررسی نصب:

    docker --version
    docker compose version
    

Linux

# 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 را دانلود و نصب کنید:

ساخت و اجرای کانتینر

استفاده از Docker Compose (پیشنهادی)

نکته: در نسخه‌های جدید Docker، از docker compose (با فاصله) استفاده می‌شود به جای docker-compose (با خط تیره).

# ساخت و اجرای کانتینر
docker compose up -d

# مشاهده لاگ‌ها
docker compose logs -f

# توقف کانتینر
docker compose down

# ساخت مجدد و اجرا
docker compose up -d --build

اگر دستور بالا کار نکرد، از نسخه قدیمی استفاده کنید:

docker-compose up -d

استفاده مستقیم از Docker

# ساخت image
docker build -t next-ctrlp .

# اجرای کانتینر
docker run -p 3000:3000 next-ctrlp

# اجرا در حالت detached
docker run -d -p 3000:3000 --name next-ctrlp-app next-ctrlp

دسترسی به اپلیکیشن

پس از اجرای کانتینر، اپلیکیشن در آدرس زیر در دسترس است:

عیب‌یابی

مشکل: دستور docker شناسایی نمی‌شود

راه حل:

  1. مطمئن شوید Docker Desktop نصب و در حال اجرا است
  2. PowerShell را بسته و دوباره باز کنید
  3. یا از Command Prompt استفاده کنید
  4. بررسی کنید که Docker در PATH سیستم قرار دارد

مشکل: Port 3000 در حال استفاده است

راه حل:

# تغییر پورت در docker-compose.yml
ports:
  - "3001:3000"  # حالا از پورت 3001 استفاده کنید

یا کانتینر دیگری که از پورت 3000 استفاده می‌کند را متوقف کنید.

متغیرهای محیطی

اگر نیاز به تنظیم متغیرهای محیطی دارید، می‌توانید فایل .env را ایجاد کنید و در docker-compose.yml آن را اضافه کنید:

services:
  next-app:
    env_file:
      - .env

یا به صورت مستقیم:

services:
  next-app:
    environment:
      - NODE_ENV=production
      - NEXT_PUBLIC_API_URL=https://api.example.com