Perché la finestra mobile riporta l'utilizzo del disco al 100% su una nuova immagine di Ubuntu?


15

Non sono più in grado di utilizzare la finestra mobile o eseguire in modo efficace nuove immagini: è in uso un utilizzo del disco del 100%. Qui, puoi vedere che sto lanciando una copia incontaminata di Ubuntu, eppure mi sta dicendo che non mi rimane spazio su disco:

$ docker run -t -i ubuntu /bin/bash
root@3838b70bd76e:/# df -h 
Filesystem      Size  Used Avail Use% Mounted on
rootfs           19G   18G     0 100% /
none             19G   18G     0 100% /
tmpfs          1005M     0 1005M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1        19G   18G     0 100% /etc/hosts
tmpfs          1005M     0 1005M   0% /proc/kcore

Separatamente, sto cercando di avviare un'istanza mysql e mi sta dando messaggi di errore che credo siano collegati al fatto che non ho un disco disponibile. Quando provo a eseguire orchardup ​​/ mysql, ottengo:

ERROR: 1030  Got error 28 from storage engine

Ciò significa che ha esaurito lo spazio di archiviazione.

Detto questo, come devo interpretare il rapporto df -h sopra e come posso determinare cosa sta consumando il 100% del mio disco? Sono in esecuzione docker 1.3, in esecuzione su OSX 10.9.4, utilizzando boot2docker.

Grazie.


Modifica: Per ovviare al problema, ho eseguito boot2docker delete, e quindi boot2docker init, e sembra aver eliminato tutte le mie immagini (fortunatamente posso ricostruirle con i miei file docker ). Ora, quando inizio una nuova immagine di Ubuntu:

root@f53d637e3d33:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           19G  373M   17G   3% /
none             19G  373M   17G   3% /
tmpfs          1005M     0 1005M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1        19G  373M   17G   3% /etc/hosts
tmpfs          1005M     0 1005M   0% /proc/kcore

Molto meglio Ma, sono ancora confuso, ci deve essere una specie di disco globale condiviso su tutte le immagini ospitate da boot2docker che in precedenza era stato riempito?


Modifica 2: ho appena scaricato un sacco di immagini e ora ecco cosa vedo quando eseguo l'immagine Ubuntu e controllo lo spazio libero su disco:

root@f53d637e3d33:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           19G  2.7G   15G  16% /
none             19G  2.7G   15G  16% /
tmpfs          1005M     0 1005M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1        19G  2.7G   15G  16% /etc/hosts
tmpfs          1005M     0 1005M   0% /proc/kcore

Dal 3% al 16% consumato! Chiaramente c'è una specie di disco condiviso tra tutte le mie immagini che non capisco ...


Come stai usando i contenitori Docker e come sono dispersi utenti / gruppi (più per gli errori mysql) Inoltre, per docker condividono qualcosa sull'host o sono puramente autonomi?
linuxdev2013

Risposte:


1

Su host Windows, boot2docker funziona creando una macchina virtuale usando la scatola virtuale. quando esegui boot2docker init, crea una macchina virtuale e, per impostazione predefinita, assegna 20G al disco di root. questa macchina virtuale esegue un SO Linux minimale che a sua volta esegue il vero demone docker (il demone docker non funziona ancora in modo nativo su Windows).

il disco collegato alla macchina virtuale fornisce spazio di archiviazione per le immagini della finestra mobile. in modo da poter esaminare le opzioni aggiuntive al comando init boot2docker per aumentare le dimensioni del disco iniziale. ciò aumenterà la dimensione del disco disponibile per l'uso nella macchina virtuale, ma come sottolineato da Queasy, è necessario aggiungere le opzioni aggiuntive al demone docker per aumentare la memoria disponibile per le immagini.

quando si esegue "df -h" nel contenitore, la dimensione totale del disco riportata è quella dello spazio su disco allocato al demone docker usando l'opzione "dm.basesize".

nota: boot2docker è ora deprecato a favore di Docker Toolbox. potresti voler eseguire l'aggiornamento a quella versione, nel qual caso useresti "docker-machine create" invece di "boot2docker init". sono passato a docker-toolbox quindi non posso testare le opzioni di comando necessarie per boot2docker init


0

Modifica la configurazione della finestra mobile in / etc / sysconfig / docker-storage e aggiungi la riga:

DOCKER_STORAGE_OPTIONS= --storage-opt dm.basesize=30G

Ricordarsi di eseguire il backup della finestra mobile prima di procedere con questa attività poiché rimuoverà i dati una volta inizializzati.


--storage-optnon è supportato su OSX
Quanlong il

0

Considera che l'unità potrebbe essere difettosa. Hitachi (Drive Fitness Test), Seagate (Seatools) e Western Digital (Western Digital Data Lifeguard) offrono tutti un software diagnostico gratuito per aiutarti a determinarlo.

Come esempio di come un'unità difettosa possa rovinarsi con lo spazio su disco, ho eseguito il backup di unità da 1 TB che riportano a Windows che hanno ancora PETABYTES di dati da trasferire.

Nel caso in cui l'unità funzioni, utilizzare du (Uso del disco) per vedere quale cartella è quella più grande. du -h /usr/bin, du -h /varO du -h /home/[username]/Downloadsper contribuire a individuare esso.

Modifica: ho visto che stai usando OS X: dovrai usare gli strumenti HDD sopra menzionati come opzioni di avvio o in qualcosa come Windows PE gratuito, sul quale puoi quindi avviare ed eseguire questi strumenti.


0

Devicemapper è il motore di archiviazione predefinito della docker. Tenta di preallocare 100 Gb per impostazione predefinita in / var / lib / docker. Tuttavia, non tutto questo spazio è realmente utilizzato e puoi configurarlo nelle opzioni. Documenti Docker

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.