Docker 이미지를 다시 빌드했는데 패키지가 갱신되지 않는 이유
Docker 빌드에서 패키지 설치 명령이 같고 앞 단계 변화가 없다면 캐시가 사용될 수 있습니다. 시간이 지났다는 사실만으로 RUN이 다시 실행되는 것은 아닙니다. 다시 빌드했다는 기록과 실제 새 패키지를 설치했다는 기록은 다릅니다.

- 같은 RUN 단계는 이전 빌드 결과를 재사용할 수 있습니다
- 변경하려는 범위에 맞춰 캐시를 다룹니다
- 최종 이미지 안의 버전을 검증합니다
같은 RUN 단계는 이전 빌드 결과를 재사용할 수 있습니다
Docker 빌드에서 패키지 설치 명령이 같고 앞 단계 변화가 없다면 캐시가 사용될 수 있습니다. 시간이 지났다는 사실만으로 RUN이 다시 실행되는 것은 아닙니다. 다시 빌드했다는 기록과 실제 새 패키지를 설치했다는 기록은 다릅니다.
변경하려는 범위에 맞춰 캐시를 다룹니다
문제 단계가 캐시 적중인지 빌드 출력을 확인합니다. 필요한 단계의 캐시 무효화나 캐시 없이 빌드하는 방법을 선택하되 저장소 전체 캐시 삭제를 매번 기본 절차로 삼지 않습니다. 패키지 버전을 고정했다면 캐시와 관계없이 같은 버전이 선택될 수 있습니다.
최종 이미지 안의 버전을 검증합니다
설치 로그만 보지 말고 최종 이미지가 실제로 포함하는 패키지 버전을 확인합니다. 다중 단계 빌드에서는 다른 단계나 다른 이미지를 배포했을 가능성도 조사합니다. 새 이미지를 만들었다는 것과 운영 컨테이너를 그 이미지로 교체했다는 것까지 구분해야 갱신 완료를 사실대로 보고할 수 있습니다.
서버 운영 실행 전 점검표
- 같은 RUN 단계는 이전 빌드 결과를 재사용할 수 있습니다
- 변경하려는 범위에 맞춰 캐시를 다룹니다
- 최종 이미지 안의 버전을 검증합니다
이 가이드의 근거 문서
출처 확인일: 2026-11-04. 공식 문서에 기반한 편집 가이드이며 직접 수행한 벤치마크가 아닙니다. 비용 사례는 명시된 가정에 한합니다.
오류 제보 방법