목록 보기
GitHub Actions에서 도커 캐시를 적용해 이미지 빌드하기
데브옵스

GitHub Actions에서 도커 캐시를 적용해 이미지 빌드하기

두줄요약

Docker 레이어 캐시의 동작과 Dockerfile 작성 순서가 빌드 시간에 미치는 영향을 설명했습니다. GitHub Actions의 매번 새로 생성되는 러너 환경 때문에 캐시가 사라지는 원인을 다뤘습니다.

문제 상황

  • GitHub Actions에서 Docker 이미지 빌드·Amazon ECR 푸시 과정의 반복적인 긴 빌드 시간
  • 변경이 거의 없어도 npm install을 포함한 빌드 단계의 매번 재실행

구조와 흐름

  • Dockerfile 명령어별 레이어 생성과 이전 레이어 재사용 기반의 로컬 Docker 캐시
  • package.json·package-lock.json 변경 시 COPY 단계부터 후속 npm install 레이어 재생성
  • .dockerignore를 통한 불필요한 빌드 컨텍스트 제외

원인 분석

  • GitHub Actions 러너의 실행마다 새 가상 환경 생성
  • Docker 레이어 캐시 부재로 동일 Dockerfile·소스에도 캐시 미적용

주의할 점

  • RUN 명령 통합으로 레이어 수와 이미지 크기 절감 가능
  • 의존성 파일을 먼저 복사하는 Dockerfile 순서에 따른 캐시 범위 결정

다음 읽기

#Docker 주제를 이어서 읽기

GitHub Actions에서 도커 캐시를 적용해 이미지 빌드하기

GitHub Actions의 매번 새로 생성되는 러너 때문에 Docker 레이어 캐시가 사라지는 원인을 설명했습니다. Buildx와 `type=gha` 캐시로 반복 빌드 시간을 줄이는 방법을 소개합니다.

카카오엔터테인먼트FE
카카오엔터테인먼트FE
데브옵스

댓글 0개

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

댓글을 불러오는 중...