Tengo algunos contenedores Docker ejecutándose en una máquina Linux, la carpeta /docker/overlay2 crece muy rápido en tamaño de disco. Debido a lo cual no podemos publicar nuevas imágenes.
Cuando reviso el interior de overlay2, encuentro que contiene capas muy antiguas (agosto de 2019)
Intenté seguir el comando para limpiar el volumen de la ventana acoplable ls -qf dangling=true | xargs -r docker volume rm docker rm -v $(sudo docker ps -a -q -f status=exited) poda del sistema docker
Pero recuperó 0B
También comprobadohttps://stackoverflow.com/questions/46672001/is-it-safe-to-clean-docker-overlay2
https://docs.docker.com/config/poning/
https://success.docker.com/article/error-message-no-space-left-on-device-in-default-machine
¿Cuál es la mejor manera de limpiar esto?
registros acoplables
Starting Oracle Net Listener.
Iniciando la instancia de Oracle Database 11g Express Edition.
Esperando a que se inicie la base de datos
SQL*Plus: versión 11.2.0.2.0 Producción el martes 14 de julio 05:04:23 2020
Copyright (c) 1982, 2011, Oracle. Reservados todos los derechos.
Conectado a: Oracle Database 11g Express Edition versión 11.2.0.2.0 - Producción de 64 bits
SQL> Desconectado de Oracle Database 11g Express Edition Versión 11.2.0.2.0 - Base de datos de producción de 64 bits iniciada /opt/ion/platform/daemon/DM_DOCKER / Daemon iniciado desde /opt/ion/platform/daemon/DM_DOCKER/mkvd118p1.lx Esperando puerto 13000 bash: conectar: La red es inalcanzable bash: /dev/tcp/localhost/13000: La red es inalcanzable Deamon inició en el puerto 13000 / Ejecutando: /startup/ansible_container_startup.sh Ejecutando: /startup/cups_startup.sh Ejecutando: /startup/ samba_startup.sh Ejecutando: /startup/start_check_mk_agent.sh
diferencia de ventana acoplable Respuesta de error del demonio: mkdir /docker/overlay2/f033daa6d065ff85484b54fcd9a7786f839917d180129ea8fed0f627ad776095-init/merged: no queda espacio en el dispositivo
Respuesta1
La respuesta típica para la mayoría de las personas cuando overlay2 es demasiado grande es ejecutar una limpieza, podando los contenedores detenidos y las imágenes que no han sido etiquetadas (reemplazadas con una etiqueta más nueva). Eso ya está hecho docker prune
y hay otras opciones para ese comando para eliminar más datos. Para obtener más detalles sobre la limpieza de esta carpeta en general, consulte "¿Es seguro limpiar Docker/overlay2/?".
Si el problema fuera que la /var/lib/docker/containers
carpeta creciera, sospecharía que los registros escritos en stdout/stderr, y hayvarias formas de limpiarlo y evitar registros excesivos en el futuro.
Sin embargo, para este problema, si la carpeta overlay2 aumenta rápidamente de tamaño cuando inicia un contenedor, lo más probable es que ese contenedor esté escribiendo en el sistema de archivos de lectura/escritura asociado con ese contenedor. Cada modificación de un archivo desencadena una copia en escritura en la capa específica del contenedor. Puede diagnosticar qué archivos se están creando o modificando en docker container diff
la identificación del contenedor específico. En su situación, parece que esto está sucediendo lo suficientemente rápido como para llenar su disco, por lo que es posible que su máquina no tenga la capacidad para depurar o ejecutar este contenedor, por lo que puede verse obligado a depurar esto en una máquina con más capacidad.
Respuesta2
Puede utilizarlo docker image prune -a
para eliminar imágenes inútiles.