Si necesita una plataforma contenedor completa y de código abierto para crear independencia entre las aplicaciones y la infraestructura, Docker es su apuesta más segura. Si ha tenido la oportunidad de usarlo, ya sabe cuán capaz y fácil de usar es
Un gran número de empresas de nube y TI lo encuentran extremadamente útil, y su popularidad es definitivamente merecida.
Aún así, esto no lo hace perfecto. La prueba se puede ver en las limitaciones que vienen con la eliminación de imágenes, volúmenes, contenedores y redes. Aunque estos comandos están disponibles, no son tan completos como los usuarios podrían querer que sean.
Aquí verá los principales problemas que enfrentan los usuarios, así como las soluciones para ellos. Aprenderá cómo eliminar imágenes y contenedores de una manera fácil.
La cuestión
La tecnología de contenedores proporciona una forma de visualizar los sistemas operativos. Permite que una aplicación se empaquete con todo lo necesario para ejecutarla, lo que le permite actuar independientemente del sistema operativo.
Las imágenes de contenedor son paquetes de aplicaciones ejecutables independientes que incluyen todo lo necesario para que una aplicación funcione correctamente. El tiempo de ejecución, el código, las configuraciones y las herramientas y bibliotecas del sistema están contenidos en cada imagen.
A medida que usa Docker, estas imágenes se acumulan. Con el tiempo, se acumula una gran cantidad de imágenes, volúmenes de datos y contenedores no utilizados, creando un entorno Docker abarrotado. Cuando esto sucede, es necesario actualizar el entorno para que la plataforma funcione como debería.
Hay varios comandos que pueden hacer que esto suceda, así que echemos un vistazo a las principales formas de desordenar su entorno Docker.
Eliminar imágenes de Docker
Antes de que pueda eliminar las imágenes innecesarias, debe distinguirlas de las útiles. Esto se puede hacer fácilmente enumerando todas las imágenes que contiene su sistema mediante el comando de administración de imágenes.
Así es como se ve:
$ docker image #list the most recently created images
O
$ docker image -a #list all images
Con el segundo comando, verá todas las imágenes de su ventana acoplable. Todo lo que tiene que hacer es encontrar las llamadas 'imágenes colgantes'. Estas son todas las imágenes de Docker que no contienen una etiqueta. Sin la etiqueta, no hay conexión con las imágenes etiquetadas, lo que significa que ya no son útiles.
Puede eliminar una o más imágenes utilizando la ID de imagen. Para hacer esto, use uno de estos comandos:
$ docker rmi d65c4d6a3580 #remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
Una solución más conveniente es usar el indicador de filtro -f para enumerar todas las imágenes colgantes.
Para eliminar estas imágenes y limpiar el espacio en disco, use uno de los siguientes comandos:
$ docker image prune #interactively remove dangling images
O
$ docker rmi $(docker images -q -f dangling=true)
Puede eliminar todas las imágenes de Docker de manera similar. Listelos usando las imágenes $ docker –un comando y luego elimínelas usando lo siguiente:
$ (docker rmi $(docker images -a -q)
Otra opción es eliminar las imágenes que siguen un cierto patrón. Para enumerarlos, use el siguiente comando:
$ docker images -a | grep "pattern"
Luego, quítelos usando:
$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Retirar contenedores
Otra cosa que puede querer hacer después de trabajar con Docker durante cierto tiempo es eliminar uno o más contenedores.
Similar a la eliminación de imágenes, primero debe enumerarlas mediante el siguiente comando:
$ docker ps
O
$ docker ps -a
Cuando encuentre los contenedores que desea eliminar, use su ID para hacerlo.
$ docker rm 0fd99ee0cb61 #remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
En caso de que el contenedor que está intentando eliminar se esté ejecutando, puede usar el siguiente comando para detenerlo:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Por último, puede detener y eliminar todos los contenedores innecesarios utilizando los siguientes comandos:
$ docker stop $(docker ps -a -q) #stop all containers
$ docker container prune #interactively remove all stopped containers
O
$ docker rm $(docker ps -qa)
Esto le permitirá liberar valioso espacio en disco y comenzar de cero.
La palabra final
Como puede ver, eliminar imágenes y contenedores de Docker no es tan desalentador como puede ser. Ahora que conoce estos comandos, puede tener más control sobre su experiencia Docker.
Por supuesto, estos son solo algunos de los comandos, y puede usar una variedad de otras combinaciones. Aún así, estos harán el trabajo bien, así que siéntase libre de probarlos.
