Categories
포스트

Docker에서 ‘no space left on device’ 에러 발생 시 대처법

Docker에서 ‘no space left on device’ 에러가 발생했을 때 다음과 같은 방법으로 대처할 수 있습니다

디스크 공간 확보하기

  1. 사용하지 않는 Docker 리소스 정리
docker system prune -a

이 명령어는 중지된 컨테이너, 사용되지 않는 네트워크, 댕글링 이미지, 빌드 캐시 등을 모두 제거합니다.

  1. 볼륨까지 포함하여 정리
docker system prune -a --volumes

사용되지 않는 볼륨까지 함께 제거합니다.

  1. 개별 리소스 정리:
  • 이미지 정리: docker image prune -a
  • 컨테이너 정리: docker container prune
  • 볼륨 정리: docker volume prune

Docker 저장소 위치 변경

  1. 현재 Docker 루트 디렉토리 확인
docker info -f '{{ .DockerRootDir }}'
  1. 새로운 저장소 위치 생성 및 기존 데이터 복사
mkdir -p /new/docker/path
rsync -aP /var/lib/docker /new/docker/path
  1. Docker 데몬 설정 파일 수정
sudo nano /etc/docker/daemon.json
{
  "data-root": "/new/docker/path"
}
  1. Docker 서비스 재시작
sudo systemctl restart docker

모니터링 및 예방

  • 정기적으로 docker system df 명령어로 사용량 확인
  • 크론 작업으로 주기적 정리 스크립트 실행
  • 로그 로테이션 설정으로 로그 파일 크기 제한

파일시스템 확장

호스트 시스템의 파일시스템 크기를 늘리는 것도 고려할 수 있습니다. 파티션이나 LVM을 사용하여 Docker 저장소가 있는 파일시스템의 크기를 확장합니다.

이러한 방법들을 통해 Docker의 디스크 공간 부족 문제를 해결하고 예방할 수 있습니다. 정기적인 모니터링과 정리를 통해 장기적으로 안정적인 Docker 환경을 유지할 수 있습니다.

참고

댓글 남기기