Eliminar imágenes, redes, contenedores y volúmenes de Docker
Docker te permite crear e implementar aplicaciones y servicios como contenedores portátiles para que puedas ejecutarlos en cualquier lugar. Cuando trabajes con Docker, no eliminará la cantidad excesiva de objetos no utilizados hasta que se lo indiques.
Si no haces esto, estos objetos no utilizados ocuparán tu espacio en disco y verás mensajes recordándotelo. En este tutorial, aprenderás cómo eliminar imágenes, redes, contenedores y volúmenes de Docker.
Eliminar objetos no utilizados
El siguiente comando Docker eliminará todas las imágenes, redes, contenedores y volúmenes que no estén asociados con un contenedor.
1 |
docker system prune |
El comando anterior te pedirá confirmación solo debes ingresar y para continuar.
1 2 3 4 5 6 |
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue? [y/N] |
Eliminar imágenes de Docker
Para eliminar las imágenes de Docker, puedes seguir las siguientes instrucciones:
Eliminar una imagen de Docker específica
Para eliminar una imagen Docker específica, primero debes enumerar todas las imágenes Docker. Para enumerar todas las imágenes de Docker, ejecuta el siguiente comando:
1 |
docker image ls |
La salida debe verse así:
1 2 3 |
REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 545acca98ac2 2 months ago 113MB centos latest 781335a6d457 4 months ago 210MB |
Puedes ver en la columna IMAGE ID de la salida anterior para mostrar el ID de la imagen.
Para eliminar la imagen, puedes ejecutar el siguiente comando. Si la imagen no es utilizada por ningún contenedor, se eliminará. En caso contrario, te mostrará el error que indica que primero elimines el contenedor para eliminar la imagen que deseas. Para eliminar la imagen, solo debes especificar el IMAGE ID con el comando docker image rmi:
1 |
docker image rmi 545acca98ac2 |
Eliminar imágenes colgantes
Para eliminar todas las imágenes colgantes, puedes escribir el siguiente comando en la terminal. También eliminarás las imágenes que no estén etiquetadas:
1 |
docker image prune |
La salida será así:
1 2 |
WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y |
Ingresa y para eliminar todas las imágenes.
Ahora, para eliminar las imágenes que no están asociadas con ningún contenedor, debes ejecutar el comando docker image prune con el indicador -a:
1 |
docker image prune -a |
Esta debe ser la salida:
1 2 |
WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? [y/N] y |
Eliminar imágenes con etiqueta
Para eliminar imágenes usando label, debes ejecutar el comando docker image prune -a con la opción –filter especificando la etiqueta de la imagen.
El siguiente comando eliminará las imágenes con etiqueta first_ubuntu:
1 |
docker image prune -a --filter "label=first_ubuntu" |
Eliminar redes de Docker
Para eliminar Docker Networks puedes seguir las siguientes instrucciones:
Eliminar una red de Docker específica
Para eliminar una red Docker específica, primero debes enumerar todas las redes. Para enumerar todas las redes de Docker, ejecuta el siguiente comando:
1 |
docker network ls |
La salida debe ser la siguiente:
1 2 3 4 |
NETWORK ID NAME DRIVER SCOPE df902d74307a first_bridge bridge local 972bc97b913b host host local 49d337bf91f5 none null local |
Puedes ver en la columna NETWORK ID de salida anterior que está allí para mostrar el ID de la red.
Para eliminar la red, puedes ejecutar el siguiente comando. Para eliminar la red, solo debes especificar el NETWORK ID con el comando docker network rmi, esto eliminará la first_bridgered:
1 |
docker network rmi 972bc97b913b |
Si la red no es utilizada por ningún contenedor, se eliminará. En caso contrario, te mostrará el error que indica que primero elimines el contenedor para eliminar la red de destino.
Eliminar redes colgantes
Para eliminar toda la red colgante, puedes escribir el siguiente comando en la terminal, también eliminarás las redes que no están etiquetadas:
1 |
docker network prune |
La salida será esta:
1 2 |
WARNING! This will remove all dangling networks. Are you sure you want to continue? [y/N] y |
Ingresa y para eliminar todas las redes colgantes.
Eliminar red con etiqueta
Para eliminar redes utilizando label, debes ejecutar el comando docker network prune -a con la opción –filter especificando la etiqueta de la red.
El siguiente comando eliminará las redes con la etiqueta first_bridge:
1 |
docker network prune -a --filter "label=first_bridge" |
Eliminar los contenedores Docker
Para eliminar los contenedores Docker puedes seguir las siguientes instrucciones:
Eliminar un contenedor Docker específico
Para eliminar un contenedor Docker específico, primero debes enumerar todos los contenedores Docker. Para enumerar todos los contenedores Docker, ejecuta el siguiente comando:
1 |
docker container ls -a |
La salida debe ser esta:
1 2 3 |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2ffcc3fb51ca centos "/bin/bash" 3 months ago Created rising_wave 624c132cf3fb ubuntu "/bin/bash" 4 months ago Exited (132) 4 months ago albert |
Puedes ver en la columna de salida CONTAINER ID arriba, para mostrar el ID del contenedor.
Para eliminar el contenedor, puedes ejecutar el siguiente comando especificando el CONTAINER ID con el comando docker container rmi:
1 |
docker container rmi 2ffcc3fb51ca |
Eliminar contenedor detenido
Primero, enumera todos los contenedores detenidos con el siguiente comando:
1 |
docker container ls -a --filter status=exited --filter status=created |
Para eliminar todos los contenedores detenidos, puedes escribir el siguiente comando en la terminal:
1 |
docker container prune |
La salida se verá así:
1 2 |
WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y |
Ingresa y para eliminar todo el contenedor detenido.
Eliminar el contenedor usando la etiqueta
Para eliminar contenedores utilizando label, debes ejecutar el comando docker container prune -a con la opción –filter especificando la etiqueta del contenedor.
El siguiente comando eliminará el contenedor con etiqueta first_ubuntu:
1 |
docker container prune -a --filter "label=first_ubuntu" |
Eliminar volúmenes de Docker
Para eliminar volúmenes de Docker puedes seguir las siguientes instrucciones:
Eliminar un volumen Docker específico
Para eliminar un Volumen Docker específico, primero debes enumerar todos los Volúmenes Docker. Para enumerar todos los volúmenes de Docker, ejecuta el siguiente comando:
1 |
docker volume ls |
La salida debe ser:
1 2 3 |
DRIVER VOLUME NAME local 4e678419bf18adddc3c7a4b23457512af8913af888ba7243dec4b6db64293163 local 67243decaf8913af88878419bba45754b6db64293163f18adddc3c7a4b234e12 |
Puedes ver en la columna de VOLUME NAME de la salida anterior que está allí para mostrar el NOMBRE del volumen.
Para eliminar el volumen, puedes ejecutar el siguiente comando. Para eliminar el volumen, solo debes especificar VOLUME NAME con el comando docker volume rmi:
1 |
docker volume rmi 4e678419bf18adddc3c7a4b23457512af8913af888ba7243dec4b6db64293163 |
Si ningún contenedor utiliza el volumen, se eliminará. En caso contrario, se mostrará el error que indica que primero se debe eliminar el contenedor para eliminar el volumen deseado.
Eliminar volúmenes colgantes
Para eliminar todo el volumen colgante, puedes escribir el siguiente comando en la terminal. También eliminará los volúmenes que no estén etiquetados:
1 |
docker network prune |
La salida será así:
1 2 |
WARNING! This will remove all dangling volumes. Are you sure you want to continue? [y/N] y |
Ingresa y para eliminar todos los volúmenes colgantes.
Conclusión
Aquí en este tutorial has aprendido con éxito cómo eliminar imágenes, redes, contenedores y volúmenes de Docker.