CI에서 Docker 이미지 빌드 시간이 5분을 넘기기 시작하면 사람들이 슬슬 짜증을 낸다. 우리 팀도 그랬다. GitHub Actions 러너에서 Node.js 서비스 이미지 빌드가 평균 6분 30초. npm ci 한 번 도는 데만 3분 넘게 걸렸다. 근데 소스는 몇 줄 안 바뀌었는데 왜 매번 처음부터 다 하지? 라는 질문에서 시작한 이야기다.이 글은 BuildKit cache mount와 registry cache 두 가지를 조합해서 CI 이미지 빌드 캐싱을 실제로 동작하게 만드는 가이드다. 로컬에서는 잘 되던 캐싱이 CI에서는 안 되는 이유부터, 러너가 매번 새로 뜨는 환경에서도 캐시를 살리는 방법까지 다룬다.왜 layer cache 만으로는 부족한가Docker의 기본 layer cache는 잘 알..