Arch-Linux
docker - 註冊層失敗:處理 tar 文件時出錯(退出狀態 1)設備上沒有剩餘空間
我在Manjaro。
我不斷得到:
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/
這沒有效果。
我還可以做些什麼 ?為什麼會這樣?
解決這個問題的正確方法是將docker數據目錄移動到另一個有足夠空間的位置。就我而言,這是我的家庭分區。
為此,我必須在其中創建一個
daemon.json
文件/etc/docker
並向其中添加以下行:{ "data-root": "/home/newbie/docker_data" }
然後重新啟動 docker 服務,如果你正在起訴 systemd,這應該是:
systemctl restart docker
我在沒有 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...
一次。