목록 보기
Docker 빌드시 의존성(패키지 버전) 문제 확인 및 해결 방법
데브옵스

Docker 빌드시 의존성(패키지 버전) 문제 확인 및 해결 방법

데보션
데보션
2025년 11월 17일

두줄요약

Docker 빌드 중 의존성 충돌로 패키지 버전이 바뀌는 문제를 확인하는 방법과 원인을 설명했습니다. 최초 설치 단계에서 버전을 명시해 재설치를 막는 해결책도 제시했습니다.

문제 상황

  • Docker 빌드 과정에서 기존 패키지 버전이 의존성 충돌로 재설치되며 업/다운그레이드 발생
  • 예시로 gradiopillow<12.0,>=8.0을 요구해 pillow 12.0.0이 제거되고 11.3.0으로 변경
  • 런타임에서 다른 패키지와 버전 미스매칭이 나며 오류 가능성 증가

원인 분석

  • torchvision 설치 시 pillow!=8.3.*,>=5.3.0 조건으로 최초에는 pillow 12.0.0이 선택됨
  • 이후 gradio 설치가 더 좁은 버전 조건을 적용해 기존 버전을 다시 내림
  • Dockerfile 내 설치 순서와 버전 미지정이 반복 재설치의 원인

해결 방법

  • Docker build 로그를 --progress=plain --no-cachetee로 저장해 uninstall 구간 확인
  • 최초 설치 단계부터 필요한 패키지 버전을 명시해 고정
  • numpy, requests, pillow처럼 함께 쓰는 의존성도 미리 호환 버전으로 지정

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...