Docker 환경 설정
multi-saas-kit의 Docker 환경 구성을 이해합니다.
2파일 체계
아키텍처별로 2개의 Docker Compose 파일을 제공합니다:
| 파일 | 아키텍처 |
|---|---|
docker-compose.amd64.yml | Intel/AMD (x86_64) |
docker-compose.arm64.yml | Apple Silicon (ARM64) |
dev/prod 분리 없음
서버 분리로 환경을 구분합니다. 동일한 설정으로 모든 환경에서 일관성을 유지합니다.
Makefile이 시스템 아키텍처를 자동 감지하므로 수동 선택 불필요!
서비스 구성
┌─────────────────────────────────────┐
│ localhost:8080 │
│ ↓ │
│ ┌─────────────────────┐ │
│ │ nginx │ │
│ │ (웹서버) │ │
│ └──────────┬──────────┘ │
│ ↓ │
│ ┌─────────────────────┐ │
│ │ web │ │
│ │ (Laravel + PHP) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────┴──────────┐ │
│ ↓ ↓ │
│ ┌────────┐ ┌─────────┐ │
│ │postgres│ │ redis │ │
│ └────────┘ └─────────┘ │
└─────────────────────────────────────┘
서비스 목록
| 서비스 | 역할 |
|---|---|
| nginx | 웹서버, 정적 파일 서빙 |
| web | Laravel 애플리케이션 (PHP-FPM) |
| postgres | PostgreSQL 데이터베이스 |
| redis | 캐시, 세션, 큐 |
파일 위치
workspace/{project}/
├── _docker/
│ ├── docker-compose.amd64.yml # Intel/AMD
│ ├── docker-compose.arm64.yml # Apple Silicon
│ └── conf/
│ ├── nginx/
│ │ └── default.conf
│ ├── php/
│ │ ├── Dockerfile
│ │ └── php.ini
│ ├── postgres/
│ │ └── init.sql
│ └── redis/
│ └── redis.conf
└── .env