docker - 레이어 등록 실패: tar 파일 처리 오류(종료 상태 1) 장치에 남은 공간이 없습니다.

docker - 레이어 등록 실패: tar 파일 처리 오류(종료 상태 1) 장치에 남은 공간이 없습니다.

나는 켜져있다만자로.

나는 계속해서 다음을 받고 있습니다 :

failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libvlccore.so.9.0.0: no space left on device

~하는 동안다운로드 중:

docker pull kdeneon/all

이것은의 출력입니다df -H

Filesystem      Size  Used Avail Use% Mounted on
dev             2.6G     0  2.6G   0% /dev
run             2.6G  930k  2.6G   1% /run
/dev/dm-0        16G   11G  4.8G  69% /
tmpfs           2.6G   39M  2.6G   2% /dev/shm
tmpfs           2.6G     0  2.6G   0% /sys/fs/cgroup
tmpfs           2.6G   48M  2.6G   2% /tmp
/dev/dm-1        18G  631M   17G   4% /home
tmpfs           514M  4.1k  514M   1% /run/user/1000

/var/lib/docker/image심지어 이미지 디렉토리를 에서 까지 심볼릭 링크했습니다 /home/newbie/docker/image. 이후에는 사용법 /home만 있습니다 4%.

ls -l /var/lib/docker/image
lrwxrwxrwx 1 root root   26 Mar  9 07:32 image -> /home/newbie/docker/image/

이것은 효과가 없습니다.

또 무엇을 할 수 있나요? 왜 이런 일이 발생합니까?

답변1

이 문제를 해결하는 올바른 방법은 docker 데이터 디렉터리를 공간이 충분한 다른 위치로 이동하는 것입니다. 내 경우에는 이것이 내 집 파티션이었습니다.

daemon.json그렇게 하려면 파일을 만들고 /etc/docker다음 줄을 추가해야 했습니다 .

{
    "data-root": "/home/newbie/docker_data"
}

그런 다음 docker 서비스를 다시 시작하십시오. systemd를 고소하는 경우 다음과 같아야 합니다.

systemctl restart docker

답변2

Docker Desktop이 없는 Mac 컴퓨터에서도 동일한 오류가 발생했습니다. 그리고 docker 데이터 디렉터리를 이동해도 작동하지 않았습니다.

이것이 minikube를 사용하여 저에게 효과적이었습니다.

minikube stop && minikube delete // this is required
minikube start --memory=16384 --cpus=8 --disk-size='80000mb'
eval $(minikube docker-env)

그런 다음 다시 시도해 보세요 docker pull....

관련 정보