Detener y eliminar imágenes usando docker compose down --rmi all
En los pasos anteriores, aprendimos cómo detener y eliminar contenedores, redes y volúmenes usando docker compose down
. Por defecto, docker compose down
no elimina las imágenes Docker que se usaron para crear los contenedores. En este paso, aprenderemos cómo eliminar imágenes usando el flag --rmi all
con docker compose down
.
Primero, volvamos a iniciar los servicios. Asegúrate de estar en el directorio ~/project/my-compose-app
.
cd ~/project/my-compose-app
Ejecuta el comando docker compose up -d
para iniciar los servicios en modo detached (desacoplado).
docker-compose up -d
Esto recreará los contenedores y la red.
Ahora, verifiquemos las imágenes Docker en tu sistema usando el comando docker images
.
docker images
Deberías ver las imágenes nginx
y redis
listadas, junto con cualquier otra imagen que puedas tener en tu sistema.
Ahora, detengamos y eliminemos los servicios, red, volúmenes y también las imágenes usando docker compose down --rmi all
.
docker-compose down --rmi all -v
Incluimos nuevamente el flag -v
para asegurarnos de que los volúmenes también se eliminen. El flag --rmi all
le indica a Docker Compose que elimine todas las imágenes usadas por cualquier servicio en el archivo docker-compose.yml
, incluso si no están etiquetadas.
Deberías ver una salida que indica que los contenedores, red, volúmenes e imágenes están siendo detenidos y eliminados.
Para verificar que los contenedores han sido eliminados, usa docker ps -a
.
docker ps -a
Los contenedores web
y redis
no deberían aparecer en la lista.
Para verificar que la red ha sido eliminada, usa docker network ls
.
docker network ls
La red my-compose-app_app-network
no debería aparecer en la lista.
Para verificar que los volúmenes han sido eliminados, usa docker volume ls
.
docker volume ls
Ningún volumen relacionado con este proyecto debería aparecer listado.
Finalmente, para verificar que las imágenes han sido eliminadas, usa docker images
.
docker images
Las imágenes nginx
y redis
que eran usadas por los servicios ya no deberían aparecer en la salida, a menos que estén siendo usadas por otros contenedores o tengan otras etiquetas. docker compose down --rmi all
elimina imágenes que no están siendo usadas por ningún otro contenedor.