Tengo problemas para crear e implementar nuevos contenedores Docker en Azure Web App en Linux.
Los registros de errores afirman que no hay espacio, y cuando miro el uso del disco a través de Kudu, puedo ver que, de hecho, no tengo espacio.
/>df -H da:
Filesystem Size Used Avail Use% Mounted on none 29G 28G 0 100% / /dev/sda1 29G 28G 0 100% /etc/hosts He implementado varios contenedores docker en aplicaciones web antes y también los he eliminado, pero parece que todavía están ocupando espacio.
La creación de un nuevo plan de App Service sin implementar nada proporciona alrededor de 5,7 G de espacio libre.
Parece que no puedo ejecutar los comandos de la ventana acoplable desde la terminal de Kudu, por lo que no puedo verificar cuántas imágenes y no sé cómo limpiar el espacio. Además, el sodu no está disponible. ¿Alguien tiene alguna idea sobre cómo liberar algo de espacio?
De hecho, su disco estaba lleno de imágenes de Docker. Los he limpiado; deberías estar desbloqueado.
Este es un problema conocido que pronto tendremos una solución. La iteración y la implementación de nuevos contenedores es un escenario común, y el objetivo es que esto se abstraiga por completo y no tenga que preocuparse por esto.
Creo que mi compañero de trabajo y yo nos encontramos con este problema al extraer imágenes de un repositorio en Azure. Las imágenes no se borrarían después de ejecutar docker-compose pull , pero no parecerían estar presentes en el nodo principal.
Veríamos lo siguiente al ssh a ese nodo:
> ssh username@server.eastus.cloudapp.azure.com -A -p 2200 > df -h Filesystem Size Used Avail Use% Mounted on # ... /dev/sda1 29G 2.0G 26G 8% /Todavía encontraríamos problemas de espacio. Después de algunas depuraciones, encontramos que estos resultados diferían cuando se adjuntaban a un contenedor en sí:
> docker-compose exec container_name /bin/bash > df -h Filesystem Size Used Avail Use% Mounted on # ... /dev/sda1 29G 29G 0G 100% /etc/hostsEl siguiente fragmento funcionó para borrar todas las imágenes que no estaban en uso sin problemas:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc) Tenga en cuenta que se requiere --no-trunc , sin él, Docker se queja de que las imágenes en realidad no existen.