Ya no puedo usar la ventana acoplable ni ejecutar nuevas imágenes de manera efectiva: informa que tengo un uso del disco del 100%. Aquí puede ver que estoy lanzando una copia inmaculada de ubuntu y, sin embargo, me dice que no me queda espacio en 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
Por separado, estoy tratando de iniciar una instancia de mysql y me está dando mensajes de error que creo que están conectados al hecho de que no tengo un disco disponible. Cuando intento ejecutar orchardup / mysql, obtengo:
ERROR: 1030 Got error 28 from storage engine
Lo que significa que se ha quedado sin espacio de almacenamiento.
Dado esto, ¿cómo debo interpretar el informe df -h anterior y cómo puedo determinar qué consume el 100% de mi disco? Estoy ejecutando docker 1.3, ejecutándome en OSX 10.9.4, usando boot2docker.
Gracias.
Editar: Como solución alternativa, he corrido boot2docker delete
, y luego boot2docker init
, y parece haber destrozado todas mis imágenes (afortunadamente, puedo reconstruirlas con mis dockerfiles ). Ahora, cuando comienzo una nueva imagen de 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
Mucho mejor. Pero, todavía estoy confundido, ¿debe haber algún tipo de disco global compartido en todas las imágenes alojadas por boot2docker que se haya llenado previamente?
Edición 2: acabo de descargar un montón de imágenes, y ahora esto es lo que veo cuando ejecuto la imagen de ubuntu y compruebo el espacio libre en 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
¡Del 3% al 16% consumido! Claramente, hay algún tipo de disco compartido entre todas mis imágenes que no entiendo ...
fuente
Respuestas:
En hosts de Windows, boot2docker funciona mediante la creación de una máquina virtual utilizando box virtual. cuando ejecuta boot2docker init, crea una máquina virtual y, de forma predeterminada, asigna 20G al disco raíz. esta máquina virtual ejecuta un sistema operativo Linux mínimo que a su vez ejecuta el docker daemon real (docker daemon aún no se ejecuta de forma nativa en Windows).
El disco conectado a la máquina virtual proporciona almacenamiento para las imágenes acoplables. para que pueda ver opciones adicionales para el comando boot2docker init para aumentar el tamaño inicial del disco. esto aumentará el tamaño del disco disponible para su uso en la máquina virtual, pero como señaló Queasy, debe agregar las opciones adicionales al demonio docker para aumentar el almacenamiento disponible para las imágenes.
cuando ejecuta "df -h" en el contenedor, el tamaño de disco total informado es el del espacio de disco asignado al docker daemon mediante la opción "dm.basesize".
nota: boot2docker ahora está en desuso a favor de Docker Toolbox. es posible que desee actualizar a esa versión, en cuyo caso usaría "docker-machine create" en lugar de "boot2docker init". He cambiado a docker-toolbox, así que no puedo probar las opciones de comando necesarias para el inicio de boot2docker
fuente
Modifique la configuración de docker en / etc / sysconfig / docker-storage y agregue la línea:
Recuerde hacer una copia de seguridad de su acoplador antes de continuar con esta tarea, ya que eliminará sus datos una vez inicializados.
fuente
--storage-opt
no es compatible con OSXTenga en cuenta que la unidad puede ser mala. Hitachi (Drive Fitness Test), Seagate (Seatools) y Western Digital (Western Digital Data Lifeguard) ofrecen software de diagnóstico gratuito para ayudarlo a determinar esto.
Como ejemplo de cómo una unidad defectuosa puede estropearse con espacio en disco, hice una copia de seguridad de unidades de 1TB que informan a Windows que todavía les quedan PETABYTES de datos para transferir.
En caso de que su unidad esté bien, use du (Disk Usage) para ver qué carpeta es la grande.
du -h /usr/bin
,du -h /var
odu -h /home/[username]/Downloads
para ayudar a identificarlo.Editar: vi que está usando OS X: deberá usar las herramientas de HDD mencionadas anteriormente como sus opciones de arranque o en algo como el Windows PE gratuito, que luego puede iniciar y ejecutar estas herramientas.
fuente
Devicemapper es el motor de almacenamiento predeterminado de Docker. Intenta preasignar 100Gb por defecto en / var / lib / docker. Sin embargo, no todo este espacio se usa realmente, y puede configurarlo en las opciones. Docker docs
fuente