Estoy ejecutando la última versión de Docker (1.8.2) en Mac OS X 10.10.5 (Yosemite) con la última versión docker-machine
(0.4.1). Solo tengo dos contenedores CentOS 6 básicos ejecutándose en un docker-machine
host estándar. No hay una configuración especial, los contenedores en realidad no ejecutan nada en absoluto... solo bash shells.
Con el tiempo, veo que la utilización del disco df -h
aumenta al 100% tanto en los contenedores como en la máquina host (es decir, el docker-machine
). También puedo escuchar el ventilador de mi Mac encendiéndose y acelerándose hasta que apago los contenedores.
Pensé que tal vez algún proceso fraudulento estaba provocando que el sistema de archivos local creciera dentro de los contenedores, pero du -hs /
solo informa unos pocos cientos de MB.
Soy relativamente nuevo en Docker y parece que no puedo localizar el origen de este problema. ¿Alguna idea de qué podría causar que la utilización del disco se salga de control de esta manera?
Editar 1: agregar salidas de df -h
ydf -i
Uso del disco desde un contenedor
[root@99e23f7c4ae6 /]# df -h
Filesystem Size Used Avail Use% Mounted on
none 19G 18G 0 100% /
tmpfs 499M 0 499M 0% /dev
shm 64M 0 64M 0% /dev/shm
tmpfs 499M 0 499M 0% /sys/fs/cgroup
/dev/sda1 19G 18G 0 100% /etc/hosts
tmpfs 499M 0 499M 0% /proc/kcore
tmpfs 499M 0 499M 0% /proc/timer_stats
[root@99e23f7c4ae6 /]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
none 1218224 28199 1190025 3% /
tmpfs 127518 17 127501 1% /dev
shm 127518 1 127517 1% /dev/shm
tmpfs 127518 11 127507 1% /sys/fs/cgroup
/dev/sda1 1218224 28199 1190025 3% /etc/hosts
tmpfs 127518 17 127501 1% /proc/kcore
tmpfs 127518 17 127501 1% /proc/timer_stats
[root@99e23f7c4ae6 /]# du -hs /
du: cannot access '/proc/348/task/348/fd/3': No such file or directory
du: cannot access '/proc/348/task/348/fdinfo/3': No such file or directory
du: cannot access '/proc/348/fd/4': No such file or directory
du: cannot access '/proc/348/fdinfo/4': No such file or directory
610M /
Uso del disco desde el host
docker@default:~$ df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 896.6M 115.3M 781.3M 13% /
tmpfs 498.1M 72.0K 498.0M 0% /dev/shm
/dev/sda1 18.2G 18.2G 0 100% /mnt/sda1
cgroup 498.1M 0 498.1M 0% /sys/fs/cgroup
none 464.8G 224.6G 240.2G 48% /Users
/dev/sda1 18.2G 18.2G 0 100% /mnt/sda1/var/lib/docker/aufs
none 18.2G 18.2G 0 100% /mnt/sda1/var/lib/docker/aufs/mnt/99e23f7c4ae608b2354c9375a0e3a7513692b44297c24d143a6b92dd73dae611
df: /var/run/docker/netns/99e23f7c4ae6: Permission denied
docker@default:~$ df -i
Filesystem Inodes Used Available Use% Mounted on
tmpfs 124.5K 4.4K 120.2K 3% /
tmpfs 124.5K 3 124.5K 0% /dev/shm
/dev/sda1 1.2M 27.5K 1.1M 2% /mnt/sda1
cgroup 124.5K 11 124.5K 0% /sys/fs/cgroup
none 1000 0 1000 0% /Users
/dev/sda1 1.2M 27.5K 1.1M 2% /mnt/sda1/var/lib/docker/aufs
none 1.2M 27.5K 1.1M 2% /mnt/sda1/var/lib/docker/aufs/mnt/99e23f7c4ae608b2354c9375a0e3a7513692b44297c24d143a6b92dd73dae611
df: /var/run/docker/netns/99e23f7c4ae6: Permission denied
Respuesta1
Cada vez que inicias un nuevo contenedor con docker run
, básicamente te separas de la imagen original desde la que empezaste, por lo que, dependiendo de lo que hagas, es posible que tengas un montón de imágenes muy similares que ocupan espacio sin ningún motivo. También debe recordar que en Mac, Docker está alojado en una máquina virtual basada en VirtualBox, por lo que todas las imágenes de Docker comparten el espacio total en disco.
Recién comencé con Docker, por lo que debe haber una mejor manera de abordar este problema, pero así es como lo resolví a continuación. Es posible que no necesariamente quieras eliminar todos tus contenedores, pero esto te dará una idea del estado de tu ventana acoplable:
- Verifique sus contenedores inicializados:
docker ps -a
(-a
porque algunos de ellos no se están ejecutando) Detenga todos los contenedores existentes:
docker stop `docker ps -a|cut -f 1 -d ' '|xargs`
Eliminar todocontenedores existentes:
docker rm `docker ps -a|cut -f 1 -d ' '|xargs`
Eliminar todo
<none>
Imágenes "sin nombre" ( ). He estado jugando con la creación de mis propias imágenes y la mayoría de ellas no estaban en uso:docker rmi `docker images|grep -i none|sed -e 's/ \{1,\}/ /g'| cut -d ' ' -f 3|xargs`
Después de eso, recuperé mi espacio.