Moby: ¿Cómo lidiar con el caso de que el tamaño del archivo de datos de Docker alcance el umbral de 100G?

Creado en 29 mar. 2016  ·  3Comentarios  ·  Fuente: moby/moby

Salida de docker version :

Client:
 Version:      1.8.2-el7.centos
 API version:  1.20
 Package Version: docker-1.8.2-10.el7.centos.x86_64
 Go version:   go1.4.2
 Git commit:   a01dc02/1.8.2
 Built:        
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.2-el7.centos
 API version:  1.20
 Package Version: 
 Go version:   go1.4.2
 Git commit:   a01dc02/1.8.2
 Built:        
 OS/Arch:      linux/amd64

Salida de docker info :

Containers: 0
Images: 130
Storage Driver: devicemapper
 Pool Name: docker-253:0-3221586422-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: xfs
 Data file: /dev/loop4
 Metadata file: /dev/loop5
 Data Space Used: 107.4 GB
 Data Space Total: 107.4 GB
 Data Space Available: 0 B
 Metadata Space Used: 60.92 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.087 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 12
Total Memory: 31.2 GiB
Name: IP-5-14
ID: DNOS:FC2P:2WH4:OSYL:L2CH:U7HZ:MFL2:ZID3:SYTX:JWKP:TGIN:YYPB
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Detalles adicionales del entorno (AWS, VirtualBox, físico, etc.):

Pasos para reproducir el problema:
quiero ejecutar mi imagen acoplable llamada puerta de enlace usando el cmd a continuación (se ha establecido un punto de entrada sin daemon en el Dockerfile de la puerta de enlace)

docker run -d -P gateway

Describa los resultados que recibió:
el contenedor puede funcionar como de costumbre

Describa los resultados que esperaba:

[root@IP-5-14 devicemapper]# docker run -d -P gateway
Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed

Información adicional que considere importante (por ejemplo, el problema ocurre solo ocasionalmente):

  1. como muestra el docker info , el espacio de datos se ha elevado hasta el umbral de 100G.
  2. cuando elimino el contenedor usando docker rm -f $(docker ps -a -q) . Todos los contenedores habían sido eliminados pero informaron el siguiente error:
Error response from daemon: Cannot destroy container 5d5eed10468b: Driver devicemapper failed to remove root filesystem 5d5eed10468b809475b0eb23bda167e1a962d32092a348936d56e27417dbf578: Error running DeleteDevice dm_task_run failed
  1. Usé docker ps -a para asegurarme de que todos los contenedores se habían eliminado después de hacer el paso 2. El resultado de cmd está vacío. pero ocurre un error (abajo) cuando elimino una imagen NINGUNA
[root@IP-5-14 devicemapper]# docker rmi 6fdebd7b0eb5   
Error response from daemon: Conflict, cannot delete because 6fdebd7b0eb5 is held by an ongoing pull or build
Error: failed to remove images: [6fdebd7b0eb5]

¿Alguien me puede hacer un favor? Muchas gracias

Comentario más útil

Debe aumentar el grupo permitido para sus contenedores. Para hacer esto, deberá eliminar su var/lib/docker, lo que destruirá todos sus contenedores e imágenes.

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Esto hará que su espacio de datos utilizado sea de 300 GB.

¿Esto resuelve tu problema? Además, intente detener los procesos de la ventana acoplable, vuelva a iniciar la ventana acoplable y vea si puede eliminar las imágenes.

Todos 3 comentarios

Debe aumentar el grupo permitido para sus contenedores. Para hacer esto, deberá eliminar su var/lib/docker, lo que destruirá todos sus contenedores e imágenes.

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Esto hará que su espacio de datos utilizado sea de 300 GB.

¿Esto resuelve tu problema? Además, intente detener los procesos de la ventana acoplable, vuelva a iniciar la ventana acoplable y vea si puede eliminar las imágenes.

Devicemapper quedarse sin espacio puede ser muy complicado; Estamos rastreando problemas relacionados con esto en https://github.com/docker/docker/issues/20272.

Para Docker 1.11, hay una nueva opción para especificar una cantidad mínima de espacio libre que se mantendrá y evitaría que llegue a esta situación; ver https://github.com/docker/docker/pull/20786

Voy a cerrar este problema, porque creo que esto no es un error, sino una pregunta de soporte, pero siéntase libre de continuar la discusión aquí.

bueno. muchas gracias. Esperanza para las nuevas funciones de Docker1.11

¿Fue útil esta página
0 / 5 - 0 calificaciones