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.