검색결과 리스트
글
LANGUAGE/!$%!% ERROR NOTE
2021. 10. 25. 12:07
Docker
- 환경
- CentOS Linux release 7.9.2009 (Core)
- Docker 20.10.5, build 55c4c88
1. Error - 오류
docker: write /DB/tmp/GetImageBlob275657822: no space left on device.
새로운 Docker Image를 불러오는 과정에서 "장치에 남은 저장공간이 없다
" 라는 메시지를 받는다.
2. Problem - 문제
용량이 부족합니다.
Docker Image 저장경로의 파티션의 용량이 부족한 상황이 발생.
Docker 이미지(image) 기본 저장경로
/var/lib/docker
용량 확인하기
df -h
3. Solved - 해결
방법-가) 파티션의 용량을 확보합니다.
방법-나) Image 저장경로의 파티션 용량을 변경하거나
Ref
예1) Home용량을 줄이고 Root용량 늘리기
backup the contents of /home
tar -czvf /root/home.tgz -C /home .
test the backup
tar -tvf /root/home.tgz
unmount home
umount /dev/mapper/centos-home
remove the home logical volume
lvremove /dev/mapper/centos-home
recreate a new 400GB logical volume for /home, format and mount it
lvcreate -L 400GB -n home centos mkfs.xfs /dev/centos/home mount /dev/mapper/centos-home
extend your /root volume with ALL of the remaining space and resize (-r) the file system while doing so
lvextend -r -l +100%FREE /dev/mapper/centos-root
restore your backup
tar -xzvf /root/home.tgz -C /home
방법-다) Image 저장경로를 여유가 있는 파티션영역으로 변경합니다.
Ref
예1)
image를 저장할 경로를 정합니다.
- 경로가 없다면 미리 생성합니다.
mkdir /home/docker-images
- 설정파일을 편집합니다.
sudo vi /lib/systemd/system/docker.service
ExecStart
를 정의하는 부분에--data-root=/home/docker-images/
옵션을 추가해줍니다.ExecStart=/usr/bin/dockerd -g /DB -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -g /DB -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/home/docker-images/
- 경로가 없다면 미리 생성합니다.
docker service를 다시 시작합니다.
sudo service docker stop
sudo service docker status
sudo service docker start
sudo service docker status
확인합니다.
sudo docker info grep | Root