Docker Community Forums

Share and learn in the Docker community.

"No space left on device" and my failed attempts to make more space

I’m brand new to docker, and not sure i’m getting the concepts and terminology 100% correct, so please forgive me and interpret with that in mind.

I have installed a docker container containing a package called tailseeker onto a Centos 7 server, following instructions on https://github.com/hyeshik/tailseeker#running-with-docker

Before I run tailseeker proper, i have to “extend the Docker image to supplement a genome reference database” which involves “building the Docker image from an empty directory” so i type:

docker build -t tailseeker:GRCm38–build-arg genome=GRCm38 .

This returns a very lengthy message, ending in:

OSError: [Errno 28] No space left on device

I know there are several other posts about this error, but none have given me what i need. I’m not running out of space on the server (nor the partition). I have replaced /var/lib/docker with a link to /home/docker, to avoid problems that it was causing there. I’m using docker version 1.13.0. Lots of the solutions I find online seem to be specific to older versions. I have tried various commands to clean out old docker images and files. They run successfully, but they don’t solve the problem.

I have only a beginners understanding of docker’s storage, but have tried a few ways to modify things to increase it: I was previously getting an error about the size of my “thin pool”, I found and ran a solution to that, by asking for 250GB rather than the default 100GB:

sudo dd if=/dev/zero of=/home/docker/devicemapper/devicemapper/data bs=1G count=0 seek=250

….which solved that problem, but now I get the “No space left on device” error instead. Further increasing the thin pool size (up to 2000GB) makes no further difference.

I have also tried the following command, and several variations on it:

sudo dockerd --storage-opt dm.basesize=20G

….which returns the following, and then hangs for (at least) several hours:

INFO[0000] libcontainerd: new containerd process, pid: 115819
WARN[0000] containerd: low RLIMIT_NOFILE changing to max current=1024 max=4096
WARN[0001] devmapper: Can’t shrink loopback file /home/docker/devicemapper/devicemapper/data
WARN[0001] devmapper: Usage of loopback devices is strongly discouraged for production use. Please use --storage-opt dm.thinpooldev or use man docker to refer to dm.thinpooldev section.
WARN[0001] devmapper: Base device already exists and has filesystem xfs on it. User specified filesystem will be ignored.
INFO[0001] [graphdriver] using prior storage driver: devicemapper
INFO[0001] Graph migration to content-addressability took 0.00 seconds
WARN[0001] mountpoint for pids not found
INFO[0001] Loading containers: start.
INFO[0001] Firewalld running: true
INFO[0001] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address
INFO[0002] Loading containers: done.
INFO[0002] Daemon has completed initialization
INFO[0002] Docker daemon commit=49bf474 graphdriver=devicemapper version=1.13.0
INFO[0002] API listen on /var/run/docker.sock

Googling these warnings doesn’t give me much that I can make use of.

Any explanation or advice would be greatly appreciated.

Thanks!