2015-08-07 6 views
5

Ich habe viel über dieses Problem in hier und anderen Websites gelesen, aber ich habe es nicht geschafft, eine geeignete Lösung zu finden, wie die Bildgröße Grenze, die standardmäßig auf 10 GB festgelegt ist .Docker und Bildgrößenbeschränkung

Ein bisschen Hintergrundinformationen.

Ich baue einen Docker Container: https://bitbucket.org/efestolab/docker-buildgaffer

Welche Downloads und baut einen einheitlichen Satz von Bibliotheken auf einem CentOS Bild. (Nimmt eine schreckliche Menge an Zeit und Raum zu bauen)

Das Problem ist, dass jedes einzelne Mal, wenn ich versuche, es zu bauen ich diesen Fehler getroffen:

No space left on device 

Docker Version:

Docker version 1.7.1, build 786b29d 

Docker Info:

Containers: 1 
Images: 76 
Storage Driver: devicemapper 
Pool Name: docker-8:7-12845059-pool 
Pool Blocksize: 65.54 kB 
Backing Filesystem: extfs 
Data file: /dev/loop0 
Metadata file: /dev/loop1 
Data Space Used: 11.28 GB 
Data Space Total: 107.4 GB 
Data Space Available: 96.1 GB 
Metadata Space Used: 10.51 MB 
Metadata Space Total: 2.147 GB 
Metadata Space Available: 2.137 GB 
Udev Sync Supported: false 
Deferred Removal Enabled: false 
Data loop file: /home/_varlibdockerfiles/devicemapper/devicemapper/data 
Metadata loop file: /home/_varlibdockerfiles/devicemapper/devicemapper/metadata 
Library Version: 1.02.82-git (2013-10-04) 
Execution Driver: native-0.2 
Logging Driver: json-file 
Kernel Version: 3.15.9-031509-generic 
Operating System: Ubuntu 14.04.2 LTS 
CPUs: 8 
Total Memory: 15.58 GiB 
Name: hdd-XPS-15-9530 
ID: 2MEF:IYLS:MCN5:AR5O:6IXJ:3OB3:DGJE:ZC4N:YWFD:7AAB:EQ73:LKXQ 
Username: efesto 
Registry: https://index.docker.io/v1/ 
WARNING: No swap limit support 

Nach Beenden des Dienstes und nuking das Verzeichnis/var/lib/Docker Ordner, Ich habe die Aktualisierung von Docker Startskript

/lib/systemd/system/docker.service 

mit diesen Fahnen:

ExecStart=/usr/bin/docker -d --storage-opt dm.basesize=20G --storage-opt dm.loopdatasize=256G -H fd:// $DOCKER_OPTS 

und neu gestartet Docker Service, aber immer noch nicht mit dem gleichen Fehler.

Ich habe auch gelesen, dass aufgrund des ursprünglichen Bildes, auf das ich mich verlassen kann (Centos: 6), die mit 10 GB Limit gebaut worden sein könnte.

Also habe ich das Bild von centos6 neu erstellt und das als Basis für meine verwendet, aber ich habe den gleichen Fehler gefunden.

Hat jemand eine zuverlässige Möglichkeit, mich in die Lage zu versetzen, dieses Docker-Image vollständig zu erstellen?

Wenn es noch weitere nützliche Informationen gibt, fragen Sie einfach.

Danke für jede Antwort oder Vorschläge! L.

.

+0

Ich konnte Ihre Dockerfile in Ihren verschiedenen Links nicht finden, wo ist sie? – user2915097

+0

Könnte es nicht sein, dass Ihre Festplatte voll ist? Ich meine die Festplatte, auf der der Docker-Daemon läuft? Ihre 'docker info' sagt:' Datenraum Gesamt: 107,4 GB' – h3nrik

+0

Hi @ user2915097, hier ist die Docker-Datei: https://bitbucket.org/festolab/docker-buildgaffer/src/aedc69cdcfe5b8eff6213d79175c5a646e8470c8/Dockerfile?at=master – hdd

Antwort

1

Dank dem Test von @ user2915097 habe ich die Kernel-Version 3.16.0 aktualisiert, die Kernel-Extras installiert und das Andockfenster entfernt und neu installiert. das Problem scheint ansprechbar zu sein, jetzt zu Device Mapper, ohne jede Änderung der Docker Befehl erhalte ich:

Containers: 0 
Images: 94 
Storage Driver: aufs 
Root Dir: /home/_varlibdockerfiles/aufs 
Backing Filesystem: extfs 
Dirs: 94 
Dirperm1 Supported: true 
Execution Driver: native-0.2 
Logging Driver: json-file 
Kernel Version: 3.16.0-45-generic 
Operating System: Ubuntu 14.04.3 LTS 
CPUs: 8 
Total Memory: 15.58 GiB 
Name: hdd-XPS-15-9530 
ID: 2MEF:IYLS:MCN5:AR5O:6IXJ:3OB3:DGJE:ZC4N:YWFD:7AAB:EQ73:LKXQ 
Username: efesto 
Registry: https://index.docker.io/v1/ 
WARNING: No swap limit support 

und es baut schließlich Bilder> 10GB. L.

+0

Ich renne auch in das. Irgendeine Chance, die tatsächliche Reparatur zu zeigen? – Ender

+0

Hallo Entschuldigung für die Verzögerung, es gibt keine wirkliche tatsächliche Reparatur, nur um die Kernel-Version zu aktualisieren, und Docker neu installiert. Das war es, ich hatte eine alte Version. – hdd

0

nach der Docker Daemon Startparameter modifing Sie die folgende

systemctl daemon-reload 
systemctl stop docker 
rm -rf /var/lib/docker * 
systemctl start docker 

Dies wird alle Ihre Bilder entfernen, stellen Sie sicher, dass Sie sie vor

zB docker save -o something.tar.gz image_name

speichern und laden sie nach Docker Start

zB docker load -i something.tar.gz

+0

rm -rf/var/lib/docker * ist sehr gefährlich !!!! – bydsky