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...一次。

相關內容