[INFRA-05] dev override + .env.dev
작업 내용 (설계 의도)
변경 사항
근거 TDD: ../TDD.md “스택 격리”, “env 라벨 주입”. ADR-005. base compose(INFRA-02)에 dev 환경 값을 얹는 override와 env 파일을 신설한다. ⑧ 소유 파일.
docker-compose.dev.yml: 서비스별 dev 호스트 포트(backend 8080, mysql 3306, mongodb 27017, redis 6379, kafka 9092, minio 9000/9001, mock 9101-9103, mailhog 1025/8025) — DB 포트도 노출(디버그 편의).- backend
environment에APP_ENV: dev리터럴 주입(신규 키 없음,application.yml:171소비). .env.dev:DOCKER_TAG=latest(dev), DB 크리덴셜, 포트 변수.- 실행 규약:
docker compose -p sports-dev -f docker-compose.yml -f docker-compose.dev.yml up -d.
롤백: 파일 revert. dev 스택은 prod와 네임스페이스 분리라 상호 무영향.
의존
- INFRA-02 (base 서비스명·내부 포트 계약)
다이어그램
클래스 의존
flowchart LR Base["docker-compose.yml"] --> Merge["-f 병합"] DevOv["docker-compose.dev.yml"] --> Merge EnvDev[".env.dev"] --> Merge Merge --> Stack["sports-dev 스택 APP_ENV=dev"]
테스트 케이스
docker compose -p sports-dev -f docker-compose.yml -f docker-compose.dev.yml config가 exit 0이다- 기동 후
docker exec sports-dev-backend-1 env | grep APP_ENV가dev를 반환한다(local잔존 0) - dev 스택이 backend를 8080에 노출한다
- dev는 DB 포트(3306 등)를 디버그용으로 노출한다
- 네트워크·볼륨이
sports-dev_접두사로 격리된다