TT Lab

도커 · 이미지 빌드

한 줄 고쳤는데 왜 전부 다시 굽나

층은 위에 쌓입니다. 어떤 층을 다시 구우면 그 위의 모든 층도 다시 굽습니다 — 아래가 달라졌으니 위의 결과도 보장할 수 없기 때문입니다. 그래서 자주 바뀌는 것을 아래에 두면 거의 매번 전부 다시 굽게 됩니다. 아래 두 기둥은 글자가 똑같은 Dockerfile 이고 줄 순서만 다릅니다.

같은 Dockerfile, 순서만 다른 두 기둥

왼쪽이 권장 순서, 오른쪽이 흔한 실수입니다 · 캐시에서 온다 · 바뀐 층 · 다시 굽는다

무엇이 바뀌었는지 골라 보기

다시 굽는 데 걸리는 시간

권장 순서
흔한 실수
이미지 크기 (둘 다 같음)
권장 순서 — 자주 바뀌는 것을 위에 둔다
단계크기이번 빌드
흔한 실수 — 소스 복사를 의존성 설치보다 앞에 두었다
단계크기이번 빌드

크기는 두 순서가 같습니다. 캐시는 시간만 아끼지 이미지를 줄이지 않습니다. 이미지를 줄이려면 층의 내용을 줄이거나 멀티스테이지로 빌드 산출물만 옮겨야 합니다.