IBT-FMI / gebuilder

Gentoo System and Image Builder
GNU General Public License v3.0
11 stars 0 forks source link

Space issues due to Docker #16

Closed TheChymera closed 6 years ago

TheChymera commented 6 years ago

The sustainability of gbuilder deployment turns out to be somewhat constrained by some disk space issue with Docker:

builder /etc/cron.weekly # for t in /*/; do du $t -hs; done
8.7M    /bin/
12M     /boot/
0       /dev/
11M     /etc/
23M     /home/
21M     /lib/
3.4M    /lib32/
21M     /lib64/
0       /media/
0       /mnt/
0       /opt/
du: cannot access '/proc/9333/task/9333/fd/3': No such file or directory
du: cannot access '/proc/9333/task/9333/fdinfo/3': No such file or directory
du: cannot access '/proc/9333/fd/4': No such file or directory
du: cannot access '/proc/9333/fdinfo/4': No such file or directory
0       /proc/
52K     /root/
384K    /run/
14M     /sbin/
0       /sys/
0       /tmp/
35G     /usr/
50G     /var/
builder /etc/cron.weekly # for t in /var/*; do du $t -hs; done
21M     /var/cache
61M     /var/db
0       /var/empty
50G     /var/lib
4.0K    /var/lock
58M     /var/log
4.0K    /var/run
0       /var/spool
0       /var/tmp
builder /etc/cron.weekly # for t in /var/lib/*; do du $t -hs; done
0       /var/lib/arpd
68K     /var/lib/cloud
4.0K    /var/lib/dhcpcd
50G     /var/lib/docker
0       /var/lib/dracut
8.0K    /var/lib/gentoo
0       /var/lib/ip6tables
0       /var/lib/iptables
4.0K    /var/lib/misc
4.0K    /var/lib/portage
12K     /var/lib/syslog-ng
builder /etc/cron.weekly # for t in /var/lib/docker/*; do du $t -hs; done
16K     /var/lib/docker/builder
0       /var/lib/docker/containers
49G     /var/lib/docker/devicemapper
87M     /var/lib/docker/image
32K     /var/lib/docker/network
0       /var/lib/docker/plugins
0       /var/lib/docker/swarm
0       /var/lib/docker/tmp
0       /var/lib/docker/trust
24K     /var/lib/docker/volumes
builder /etc/cron.weekly # for t in /var/lib/docker/devicemapper/devicemapper/*; do du $t -hs; done
49G     /var/lib/docker/devicemapper/devicemapper/data
34M     /var/lib/docker/devicemapper/devicemapper/metadata
builder /etc/cron.weekly # for t in /var/lib/docker/devicemapper/devicemapper/data/*; do du $t -hs; done
du: cannot access '/var/lib/docker/devicemapper/devicemapper/data/*': Not a directory
builder /etc/cron.weekly # stat /var/lib/docker/devicemapper/devicemapper/data                    
  File: /var/lib/docker/devicemapper/devicemapper/data
  Size: 107374182400    Blocks: 102663520  IO Block: 4096   regular file
Device: 13h/19d Inode: 1246714     Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-02-21 17:06:02.820000000 +0000
Modify: 2018-03-03 05:39:27.016000000 +0000
Change: 2018-03-03 05:39:27.016000000 +0000
 Birth: -
builder /etc/cron.weekly # docker images
REPOSITORY                                                          TAG                 IMAGE ID            CREATED             SIZE
ibtfmi/samri                                                        1519919311          2d745ff73f47        7 days ago          11.4GB
06efa8964d90b8c7e3dc8718d7e8aff5148601488a48569d84c9e8fac2dc9cc33   1519919311          2d745ff73f47        7 days ago          11.4GB
cb1977300a57b47010536d9a5ba56cab491ed8ff689d3119925249c94814a9111   1519415739          53d2e188ff8f        13 days ago         2.02GB
cb1977300a57b47010536d9a5ba56cab491ed8ff689d3119925249c94814a9111   1520594544          53d2e188ff8f        13 days ago         2.02GB
ibtfmi/stereotaxyz                                                  1519415739          53d2e188ff8f        13 days ago         2.02GB
ibtfmi/stereotaxyz                                                  1520594544          53d2e188ff8f        13 days ago         2.02GB
ibtfmi/stereotaxyz                                                  latest              53d2e188ff8f        13 days ago         2.02GB
ibtfmi/samri                                                        1519411598          3e6bfa2bb903        13 days ago         11.4GB
ibtfmi/samri                                                        latest              3e6bfa2bb903        13 days ago         11.4GB
06efa8964d90b8c7e3dc8718d7e8aff5148601488a48569d84c9e8fac2dc9cc33   1519411598          3e6bfa2bb903        13 days ago         11.4GB
ibtfmi/samri                                                        1519334982          674de79e7fff        2 weeks ago         11.3GB
06efa8964d90b8c7e3dc8718d7e8aff5148601488a48569d84c9e8fac2dc9cc33   1519326146          674de79e7fff        2 weeks ago         11.3GB
06efa8964d90b8c7e3dc8718d7e8aff5148601488a48569d84c9e8fac2dc9cc33   1519333525          674de79e7fff        2 weeks ago         11.3GB
06efa8964d90b8c7e3dc8718d7e8aff5148601488a48569d84c9e8fac2dc9cc33   1519334982          674de79e7fff        2 weeks ago         11.3GB
ibtfmi/stereotaxyz                                                  1519256807          7a93106ae591        2 weeks ago         2GB
cb1977300a57b47010536d9a5ba56cab491ed8ff689d3119925249c94814a9111   1519233148          7a93106ae591        2 weeks ago         2GB
cb1977300a57b47010536d9a5ba56cab491ed8ff689d3119925249c94814a9111   1519254537          7a93106ae591        2 weeks ago         2GB
cb1977300a57b47010536d9a5ba56cab491ed8ff689d3119925249c94814a9111   1519255836          7a93106ae591        2 weeks ago         2GB
cb1977300a57b47010536d9a5ba56cab491ed8ff689d3119925249c94814a9111   1519256807          7a93106ae591        2 weeks ago         2GB

Support for more intelligent autodeletion might require communication from third party services back to gebuilder - which would be rather involved atm. Perhaps we could instead provide some convenience scripts which - when manually called by the user - delete all but the newest image for each repo. @Doeme any ideas how to do this? the only way I managed to delete anything was docker system prune -af.

TheChymera commented 6 years ago

The plot thickens:

builder /etc/cron.weekly ls -lh /var/lib/docker/devicemapper/devicemapper
total 49G
-rw------- 1 root root 100G Mar  3 05:39 data
-rw------- 1 root root 2.0G Mar  9 14:05 metadata
builder /etc/cron.weekly # docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              0e2d6a678c8e        2 weeks ago         0B
TheChymera commented 6 years ago

Further addressed in #17