Dockerfile → Compose → 멀티 스테이지 빌드 + 레지스트리 버전 관리 + 캐싱 레이어 경험
팀 프로젝트에서 도커로 개발 환경을 통일하면서 환경 차이로 생기는 문제가 사라지는 경험을 했습니다. 처음에는 Dockerfile만 썼는데, 서비스가 여러 개 생기면서 Docker Compose로 전체 스택을 한 번에 올리는 구성으로 바꿨습니다. 이미지 크기를 줄이는 게 빌드 시간과 배포 속도에 직접 영향을 준다는 걸 알고, 멀티 스테이지 빌드로 프로덕션 이미지에서 빌드 도구를 제외했습니다. CI/CD에서는 도커 이미지를 컨테이너 레지스트리에 올리고 배포 시 태그로 버전을 관리하는 방식을 써봤습니다. Dockerfile에서 자주 바뀌지 않는 의존성 설치 레이어를 먼저 두면 캐시가 재활용돼서 빌드 시간이 줄었습니다.
도커는 환경 차이를 없애는 도구인 동시에, 레이어 구조를 이해하고 써야 빌드 속도도 잡을 수 있는 자리라는 걸 배웠습니다.