일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- nestjs스터디
- nestjs공부
- JPA공부
- querydsl
- Flutter
- nestjs
- DDD
- 자료구조공부
- Axon framework
- JPA예제
- 기술면접공부
- JPA
- 코테준비
- K8S
- Kafka
- 코테공부
- 플러터 개발
- 카프카
- 알고리즘공부
- JPA스터디
- 자바공부
- JPA 공부
- 스프링공부
- 스프링부트공부
- 스프링 공부
- 스프링
- 플러터 공부
- 스프링부트
- 기술공부
- 프로그래머스
- Today
- Total
DevBoi
[Docker] 디스크 용량 이슈 본문
개인 운영중인 Docker swarm에서 아래와 같은 메시지로 인해
신규 이미지를 pull할수 없었다.
Error response from daemon: write /var/lib/docker/image/overlay2/.tmp-repositories.json2291754845: no space left on device
1) 리눅스 내 용량 비율 확인
ubuntu@ip-172-31-41-56:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.6G 7.6G 0 100% /
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 190M 21M 170M 11% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/xvda15 105M 6.1M 99M 6% /boot/efi
tmpfs 95M 4.0K 95M 1% /run/user/1000
/dev/root 의 용량이 전부 사용중이다.
좀 더 상세하게 확인하기 위해 도커의 이미지 및 사용중인 용량에 대해 파악하기로했다.
docker system df 는 현재 도커 이미지와 컨테이너, 볼륨의 용량을 얼마나 사용중인지 확인이 가능한 명령어 이며,
-v를 통해 미사용 관련 리소스도 확인 할 수 있다.
확인 해보니 용량을 다 차지할 정도는 아니다
그래도 미사용 하는 리소스에 대한 확인은 했으니, 정리를 해보자
도커에서는 무튼 미사용 리소스에 대한 정리를 빠르게 도와주는 명령어가 있다.
Docker prune를 사용해서 볼륨,이미지,컨테이너의 정리를 할 수있다.
추가로 cron타입으로 도커 컨테이너 내에서 정리를 해주는 스케줄링을 걸어줘서 주기적으로 리소스 관리를 하게끔
설정할 수 있다.
- docker volume prune : 미사용 볼륨 제거
- docker container prune : 미사용 컨테이너 제거
- docker image prune : 미사용 이미지 제거
- docker system prune : 미사용 중인 이미지, 컨테이너, 볼륨 모두 제거
docker system prune 를 사용해서 docker 관련 리소스를 정리했고,
100% -> 93% 로 줄었다.
2) 용량 높고 안쓰는 파일 찾기
du 명령으로 특정 폴더의 용량을 조회할수있다.
해당 명령어로 이동하면서, 특정 용량이 높은 파일을 찾아볼수 있다.
sudo du -sh /home1/* | sort -hr
주로 로그파일이나 tar 파일이면 확인 후에 삭제하면 된다.
'Infra > [K8S & Docker]' 카테고리의 다른 글
[Docker] Ubuntu에 Docker, Docker-compose 세팅 (0) | 2024.05.06 |
---|---|
[Docker] 리눅스 용량 확보 및 도커 저장공간 최적화 (1) | 2024.04.26 |
[Docker] awk로 Image 다중 삭제 (0) | 2023.10.15 |
[Docker] Next.js 프로젝트 빌드하기 (0) | 2023.09.30 |
[Docker] Mariadb 간헐적 초기화 발생 (0) | 2023.09.26 |