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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions