higlass / higlass-docker

Builds a docker container wrapping higlass-server and higlass-client in nginx
MIT License
32 stars 14 forks source link

Docker container is running out of space in local deployment #113

Closed ngehlenborg closed 7 years ago

ngehlenborg commented 7 years ago

Trying to upload a 21.5 GB file to a HiGlass container running locally:

wget -O $DOWNLOADS/$NAME $URL
--2017-02-16 16:47:58--  https://s3.amazonaws.com/pkerp/public/Rao2014-GM12878-MboI-allreps-filtered.1kb.multires.cool
Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.82.3
Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.82.3|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23059963387 (21G) [binary/octet-stream]
Saving to: ‘/tmp/downloads/Rao2014-GM12878-MboI-allreps-filtered.1kb.multires.cool’

/tmp/downloads/Rao2014-GM12878-MboI-allreps-filter  38%[==========================================>                                                                     ]   8.35G  2.17MB/s   in 47m 34ss

Cannot write to ‘/tmp/downloads/Rao2014-GM12878-MboI-allreps-filtered.1kb.multires.cool’ (No space left on device).

The host system has > 150 GB disk space available but the container seems to be limited to 20 GB:

> docker exec -i higlass-container bash
df -h
Filesystem      Size  Used Avail Use% Mounted on
none             19G   19G     0 100% /
tmpfs          1000M     0 1000M   0% /dev
tmpfs          1000M     0 1000M   0% /sys/fs/cgroup
/dev/sda1        19G   19G     0 100% /data
shm              64M  8.0K   64M   1% /dev/shm
tmpfs          1000M     0 1000M   0% /sys/firmware
mccalluc commented 7 years ago

This is weird:

higlass-docker$ docker exec container-2017-02-16_17-36-05-with-redis df -h /data
Filesystem      Size  Used Avail Use% Mounted on
osxfs           233G   86G  147G  38% /data

higlass-docker$ docker exec container-2017-02-16_17-36-05-with-redis df -h
Filesystem      Size  Used Avail Use% Mounted on
none             60G  8.0G   49G  15% /
tmpfs          1000M     0 1000M   0% /dev
tmpfs          1000M     0 1000M   0% /sys/fs/cgroup
osxfs           233G   86G  147G  38% /tmp
/dev/sda2        60G  8.0G   49G  15% /etc/hosts
shm              64M     0   64M   0% /dev/shm
tmpfs          1000M     0 1000M   0% /sys/firmware
mccalluc commented 7 years ago

look at dm.basesize... but this is specified when starting the daemon, not per container.

mccalluc commented 7 years ago

oh... In nils's deployment, /tmp isn't special: it's just using the finite container space. So this is really a documentation fix: If you're starting from an image, you need to mount volumes... but VOLUME declarations don't do that for us?

mccalluc commented 7 years ago
higlass-docker$ df -h /tmp/higlass-docker/volume-2017-02-16_17-36-05-with-redis/hg-{data,tmp}
Filesystem      Size   Used  Avail Capacity  iused    ifree %iused  Mounted on
/dev/disk1     233Gi   86Gi  146Gi    37% 22592420 38388826   37%   /
/dev/disk1     233Gi   86Gi  146Gi    37% 22592420 38388826   37%   /

higlass-docker$ docker exec container-2017-02-16_17-36-05-with-redis bash -c 'df -h /tmp /data'
Filesystem      Size  Used Avail Use% Mounted on
osxfs           233G   86G  147G  37% /tmp
osxfs           233G   86G  147G  37% /data

discrepancies must just have been the OS doing work in the time between running the two commands