본문 바로가기

DevOps/Jenkins

[Jenkins] docker Build failed: no space left on device

반응형

 

1. 원인 

Jenkins 에서 docker 이미지 빌드시 디스크 공간이 부족하면 아래와 같은 에러 발생

Error processing tar file(exit status 1): ....: no space left on device

script returned exit code 1

 

2. 해결방안

 

1) 현재 디스크 사용률 확인

$ df -h

 

2) 사용하고 있는 docker 이미지, 컨테이너, 로컬 볼륨의 총 개수 및 사용 중인 개수, 크기 확인

$ docker system df -v

 

3) docker 컨테이너 삭제

# 동작중인 컨테이너 확인
$ docker ps

# 정지된 컨테이너 확인
$ docker ps -a

# 컨테이너 삭제
$ docker rm [컨테이너id]

# 삭제 확인
$ docker ps -a

복수개 삭제 가능
$ docker rm [컨테이너id],[컨테이너id]

 

4) docker 이미지 삭제

# 현재 이미지 확인
$ docker images

# 이미지 삭제
$ docker rmi [이미지id]

# 컨테이너를 삭제하기 전에 이미지를 삭제할 경우 (-f 옵션을 붙이면 컨테이너도 강제 삭제)
$ docker rmi -f [이미지id]

 

5) docker 볼륨 삭제

# 볼륨 확인
$ docker volumes ls

# 볼륨 삭제
$ docker voulme rm [불륨id]

 

6) docker prune 사용 

- prune 명령어는 이미지 및 컨테이너를 파기 할 때 사용하는 명령입니다. 도커를 장기간 사용하다보면 디스크에 저장된 컨테이너와 이미지가 많아지는데, 이 때 prune 명령을 이용해 일괄적으로 삭제 할 수 있습니다.

  * docker container prune : 실행중이 아닌 모든 컨테이너를 삭제합니다.
  * docker image prune : 태그가 붙지 않은(dangling) 모든 이미지를 삭제합니다.
  * docker system prune : 사용하지 않는 도커 이미지 및 컨테이너, 볼륨 네트워크 등 모든 도커 리소스를 일괄적으로 삭제

 

※ 사용하지 않는 도커 이미지 및 컨테이너, 볼륨 네트워크등 모든 리소스를 삭제하기 때문에 명령어 사용 전 항상 사용 유무 확인 필요

$ docker system prune --help

Usage:	docker system prune [OPTIONS]

Remove unused data

Options:
  -a, --all             Remove all unused images not just dangling ones
      --filter filter   Provide filter values (e.g. 'label=<key>=<value>')
  -f, --force           Do not prompt for confirmation
      --volumes         Prune volumes

$ docker system prune -a

 

 

반응형

'DevOps > Jenkins' 카테고리의 다른 글

[Jenkins] Jenkins 설치 - Package  (0) 2022.12.21
[Jenkins] Jenkins pipeline 소개  (0) 2022.12.21
[Jenkins] Jenkins 개요  (0) 2022.12.21