[Jenkins] Built-In Node 오프라인 에러, Disk space is below threshold of 1.00GiB

2025. 4. 2. 22:04·Infra

1. 문제

1) 문제 상황

Jenkins의 Built-In Node가 Disk space is below threshold 경고와 함께 오프라인 상태로 바뀌었습니다.

빌드는 대기상태로 바뀌었고 Jenkins 화면에는 디스크 부족 경고가 떠 있었습니다.

 

Jenkins의 내부 모니터링 로직이 /var/jenkins_home에 충분한 공간이 없다고 판단하고 오프라인 상태로 바꿔버린것 이었습니다.

Jenkins로 빌드할때 주로 Docker를 사용하기에 Docker 사용상태를 확인해보았습니다.

# docker 사용상태 확인
docker system df

 

 

확인 결과 Build Cache가 엄청나게 쌓여있는것을 확인하였습니다.

 

2) 문제 발생 원인

먼저 Docker로 이미지를 빌드할때는 레이어라는게 계층적으로 쌓여서 최종 이미지를 형성합니다. 또한 그 레이어들은 캐시로써 Docker 내부에 저장됩니다. Docker는 이런 캐시를 재활용하여 빌드 속도를 빠르게 하려고 합니다.

변경이 감지되지 않으면 기존 레이어를 재사용하지만, 변경이 있으면 새 레이어를 생성하고 이전 레이어는 다시 사용될수도 있으므로 남겨두게 됩니다.

밑의 문서에서는 Docker에서는 GarbageCollection을 적용해서 사용하지 않는 이미지를 정리한다고 나와있습니다.

하지만 여기에 일정 기준이 있는것 같습니다.

 

 

Default로 적용된 정책은 위와 같지만 제 캐시는 해당이 안되서 계속 쌓인것 같습니다.

추후 custom해서 정책을 설정할 수 있을 것 같습니다. 배포부터 빠르게 하고 나중에 깊게 공부해 봐야 할 것 같습니다.

 

https://docs.docker.com/build/cache/garbage-collection/

 

Build garbage collection

Learn about garbage collection in the BuildKit daemon

docs.docker.com

 

2.  문제 해결

1) 빌드 캐시 지우기

 

docker 문서에서 빌드 캐시 삭제 명령어를 찾아 이용하였습니다.

# 빌드 캐시 삭제
docker builder prune

 

 

 

빌드 캐시 삭제 -> Bring this node back online 버튼을 누르면 다시 빌드가 진행되는것을 확인할 수 있습니다.

 

만약 계속 오프라인 상태로 남아있다면 Jenkins를 재실행해보는것을 추천드립니다.


일단은 당장 배포를 진행하기 위해 빌드 캐시만을 삭제했지만, 추후 Garbage Collection을 custom해서 적용할 수 있을 것 같습니다.

'Infra' 카테고리의 다른 글

[Infra] Grafana, Loki로 Docker 컨테이너 모니터링 하기, 로그 모니터링 시스템 구축하기  (2) 2025.03.05
[Infra] Docker Certbot 인증서 발급 에러, Connection refused status: 400 에러, docker compose certbot 에러  (2) 2025.01.17
[Infra] npm Unable to authenicate 에러, npm ERR! code401, .npmrc 에러  (0) 2024.08.18
[Infra] Jenkins로 Slack에 알림 보내기  (0) 2024.08.06
[Infra] Ngrok 사용법, 외부에서 내 로컬에 접속, local에서 Jenkins Webhooks 설정, Mac  (0) 2024.06.10
'Infra' 카테고리의 다른 글
  • [Infra] Grafana, Loki로 Docker 컨테이너 모니터링 하기, 로그 모니터링 시스템 구축하기
  • [Infra] Docker Certbot 인증서 발급 에러, Connection refused status: 400 에러, docker compose certbot 에러
  • [Infra] npm Unable to authenicate 에러, npm ERR! code401, .npmrc 에러
  • [Infra] Jenkins로 Slack에 알림 보내기
단군왕건영
단군왕건영
널리 세상을 이롭게 하고 싶은 개발자
  • 단군왕건영
    홍익인간 개발자
    단군왕건영
  • 전체
    오늘
    어제
    • 분류 전체보기 (65)
      • Java (1)
      • Backend (1)
        • Spring (14)
      • Algorithm (7)
        • 백준 (4)
      • Frontend (1)
        • React (1)
      • Infra (6)
      • CS (27)
        • 컴퓨터 구조 (25)
        • 네트워크 (2)
      • Git (3)
      • Mac (2)
      • 회고 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    spring
    컴퓨터구조론
    백준
    컴퓨터구조
    docker
    java
    컴퓨터 구조
    Jenkins
    springboot
    git
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
단군왕건영
[Jenkins] Built-In Node 오프라인 에러, Disk space is below threshold of 1.00GiB
상단으로

티스토리툴바