build-cache

Using the build cache

doc

docker build 명령어로 docker를 빌드하면 docker는 Dockerfile에 있는 각 지시어를 실행하며 레이어를 생성한다. 이때 이전에 실행했던 유사한 지시어의 cached result를 사용하여 빌드 프로세스를 빠르고 효율적이게 진행한다.

  • cache invalidation 상황
    • RUN의 명령어의 내용이 변경되면 cache를 무효화한다.
    • COPY, ADD와 관련된 file의 내용, 권한이 변경되면 cache를 무효화한다.
    • 하나의 layer가 무효화 되면, 그 이후 레이어들도 또한 무효화 된다.
  • 불필요하게 cache misses가 일어나지 않도록 하여, build 성능을 올릴 수 있다.
  • .dockerignore를 통해서 필요 없는 file을 COPY 나 ADD이 무시하도록 할 수 있다. ex) .git