En Docker 17, ¿cómo se asigna el espacio en disco a los contenedores?

Hay varios recursos de Internet que sugieren que, de forma predeterminada, los contenedores docker están limitados a 10g. Sin embargo, esas explicaciones van junto con una indicación de que docker system info mostrará el límite. Tengo Docker versión 17.05.0-ce, y docker system info no muestra tal límite, lo que me sugiere que la situación ha cambiado. Tengo una compilación que falló con 'sin espacio' en las operaciones del sistema de archivos en el contenedor. Entonces, ¿dónde está el espacio del que me estoy quedando y cómo lo asigno más? docker info Mostrar aufs, también lo es el espacio en disco que se encuentra en el /var sistema de archivos?

Agregaré para cualquiera que busque información de Windows:

De forma predeterminada, los volúmenes son de 20 GB y se pueden cambiar con --storage-opt "size=50GB".

Fuente:https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/container-storage

Tamaño de imagen

Un patrón común para las aplicaciones de Windows es consultar la cantidad de espacio libre en disco antes de instalar o crear nuevos archivos o como desencadenante para limpiar archivos temporales. Con el objetivo de maximizar la compatibilidad de las aplicaciones, la unidad C: en un contenedor de Windows representa un tamaño libre virtual de 20 GB. Algunos usuarios pueden querer anular este valor predeterminado y configurar el espacio libre a un valor más pequeño o más grande, esto se puede lograr a través de la opción "tamaño" dentro de la configuración "opción de almacenamiento". Ejemplos

Línea de comandos: docker run --storage-opt "size=50GB" microsoft / windowsservercore:1709 cmd

Archivo de Configuración de Docker:

"storage-opts": [    "size=50GB"  ]

Tenga en cuenta que este método funciona para la compilación de Docker. Ver el configurar docker documento para obtener más detalles sobre la modificación del archivo de configuración de docker.

El límite de" tamaño base " que ve por defecto en 10G está relacionado con el controlador de almacenamiento devicemapper. No se aplica a AUF, overlay, overlay2 u otros controladores de almacenamiento. El controlador de almacenamiento devicemapper se usa comúnmente en las instalaciones de Red Hat.

Con aufs, el disco se usa en /var / lib / docker, puede verificar si hay espacio libre allí con df -h /var/lib/docker. Si montó un volumen en su contenedor, ese disco estará donde se monte su volumen. Los volúmenes con nombre se establecen de forma predeterminada en /var / lib / docker, pero los demás volúmenes, en particular los volúmenes host, se ubicarán en el directorio que especifique.

Para obtener más información, consulte:

Selección de un controlador de almacenamiento

Utilice el controlador de almacenamiento del asignador de dispositivos

Utilice el controlador de almacenamiento aufs