네트워킹
Docker 네트워크 구성을 설명합니다.
2계층 네트워크 구조
Multi-SaaS Kit은 2계층 네트워크 구조를 사용합니다.
┌─────────────────────────────────────────────────────────────┐
│ 프로젝트 A │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ {PLATFORM_NAME}-projectA-network │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │ nginx │ │ web │ │postgres│ │ redis │ │ │
│ │ └────────┘ └────────┘ └───┬────┘ └────────┘ │ │
│ └───────────────────────────────┼─────────────────────────┘ │
│ │ │
├─────────────────────────────────┼───────────────────────────┤
│ 공유 네트워크 ↓ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ {PLATFORM_NAME}-shared-network │ │
│ │ ┌────────────────┐ │ │
│ │ │ pgAdmin │ ← 모든 프로젝트 DB 접근 가능 │ │
│ │ └────────────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
네트워크 유형
프로젝트 네트워크 (default)
각 프로젝트의 내부 통신을 위한 격리된 네트워크입니다.
# docker-compose.yml
networks:
default:
name: ${PLATFORM_NAME}-${PROJECT_NAME}-network
driver: bridge
특징:
- 프로젝트 간 완전 격리
- 컨테이너 이름으로 서로 접근
- 외부에서 직접 접근 불가 (포트 매핑 필요)