docker - failed to register layer: Error processing tar file(exit status 1) no space left on device

11,822

The correct way to solve this problem is to move the docker data directory to another location where there is sufficient space. In my case this was my home partition.

To do that I had to create a daemon.json file in /etc/docker and add the following lines to it:

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

Then restart the docker service, if you are suing systemd this should be:

systemctl restart docker
Share:
11,822

Related videos on Youtube

ng.newbie
Author by

ng.newbie

Updated on September 18, 2022

Comments

  • ng.newbie
    ng.newbie over 1 year

    I am on Manjaro.

    I keep getting:

    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
    

    while downloading:

    docker pull kdeneon/all
    

    This is the output of 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
    

    I have even symlinked the images directory from /var/lib/docker/image to /home/newbie/docker/image. Since /home has only 4% usage.

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

    This has no effect.

    What else can I do ? Why is this happening ?

    • icarus
      icarus about 4 years
      According to hub.docker.com/r/kdeneon/all/tags the compressed size of the image is 2.15GB, so it is not too surprising that holding both a compressed and an uncompressed copy exceeds the 4.8GB. The output of your ls command is unexpected, I would expect it to say lrwxrwxrwx 1 root root 26 Mar 9 07:32 /var/lib/docker/image -> /home/newbie/docker/image/ which makes me think you have linked /var/lib/docker/image/image to /home/newbie/docker/image.
    • ng.newbie
      ng.newbie about 4 years
      @icarus Yeah what is the problem ? I have linked /var/lib/docker/image/image to /home/newbie/docker/image. I don't understand your point. Are you saying that I have not linked correctly ? If so what is the correct linkage ?
    • icarus
      icarus about 4 years
      You want /var/lib/docker/image to be linked, not /var/lib/docker/image/image. If I was doing it I would make /var/lib/docker be the symlink.
    • ng.newbie
      ng.newbie about 4 years
      @icarus I had to move the docker data to another partition. Check my answer below.