Skip to content

[기능] 도커 이미지 경량화 작업 #156

@ParkGyeongTae

Description

@ParkGyeongTae

기능 설명 (Description)

  • 현재 도커 이미지 용량이 크고 불필요한 레이어가 포함되어 있어 빌드/배포 시간이 길어지고 있습니다.
  • 도커 이미지를 경량화하여 빌드 속도 단축, 배포 효율성 향상, 리소스 절감을 목표로 합니다.

왜 필요한가요? (Motivation / Use Case)

  • 대용량 이미지를 배포할 때 네트워크 대역폭 소모 증가 및 배포 속도 지연
  • 불필요한 의존성과 패키지가 포함되어 보안 취약점 가능성이 커짐
  • 경량 이미지 사용 시 컨테이너 실행 속도 향상 및 운영 비용 절감 가능

제안하는 해결 방법 (Proposed Implementation)

  • alpine 또는 distroless 기반의 경량 베이스 이미지로 전환 검토
  • 멀티스테이지 빌드(Multi-stage build) 적용 → 빌드 환경과 실행 환경 분리
  • 필요 없는 패키지, 캐시, 로그 파일 제거
  • 이미지 스캐닝 도구(예: Trivy)로 불필요하거나 취약한 의존성 점검

대안 (Alternatives)

  • 현재 사용 중인 베이스 이미지를 유지하되, 내부 패키지 최소화
  • 기존 캐싱 전략 개선(CI에서 캐시 레이어 활용)으로 빌드 최적화
  • 배포 시 전용 Artifact Registry 캐시 레이어 활용

추가 고려사항 (Additional Context)

  • 경량화 과정에서 일부 라이브러리/툴이 제거될 경우 기능 동작에 영향이 없는지 검증 필요
  • 빌드 환경/테스트 환경에서 사용하는 의존성은 유지하면서 운영 이미지에는 포함되지 않도록 분리
  • 성능 및 보안 측면에서 개선 효과를 측정할 수 있는 메트릭 정의 필요 (예: 빌드 시간, 이미지 크기, 취약점 개수)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions