added docker files
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
# راهنمای استفاده از 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 next-ctrlp .
|
||||
|
||||
# اجرای کانتینر
|
||||
docker run -p 3000:3000 next-ctrlp
|
||||
|
||||
# اجرا در حالت detached
|
||||
docker run -d -p 3000:3000 --name next-ctrlp-app next-ctrlp
|
||||
```
|
||||
|
||||
## دسترسی به اپلیکیشن
|
||||
|
||||
پس از اجرای کانتینر، اپلیکیشن در آدرس زیر در دسترس است:
|
||||
- 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user