반응형
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 |