Contenido

Tutorial de docker compose down: detén y elimina contenedores, redes y volúmenes

docker compose down detiene y elimina los contenedores y las redes de un proyecto de Compose.

Sintaxis

docker compose down [OPCIONES] [SERVICIO...]
OpciónDescripción
-v, --volumesElimina también los volúmenes con nombre y anónimos declarados en compose.yaml (se pierden los datos)
--rmi local|allElimina también las imágenes. local elimina solo las imágenes sin etiqueta personalizada (las que construyó Compose); all elimina todas las imágenes que usan los servicios
--remove-orphansElimina también los contenedores de servicios que ya no están en compose.yaml
-t, --timeout SEGUNDOSSegundos de espera al detener los contenedores (10 por defecto)
--dry-runSolo muestra lo que haría

Ejemplo

El proyecto de ejemplo de docker compose up:

$ docker compose down
[+] down 4/4
 ✔ Container ref-compose-worker-1 Removed                                                                                                         0.0s
 ✔ Container ref-compose-web-1    Removed                                                                                                         0.2s
 ✔ Container ref-compose-cache-1  Removed                                                                                                         0.2s
 ✔ Network ref-compose_default    Removed                                                                                                         0.0s

$ docker volume ls
DRIVER    VOLUME NAME
local     ref-compose_cache_data

$ docker compose up -d
[+] up 4/4
 ✔ Network ref-compose_default    Created                                                                                                         0.0s
 ✔ Container ref-compose-worker-1 Started                                                                                                         0.3s
 ✔ Container ref-compose-cache-1  Started                                                                                                         0.6s
 ✔ Container ref-compose-web-1    Started                                                                                                         0.8s

$ docker compose down -v -t 1
[+] down 5/5
 ✔ Container ref-compose-web-1    Removed                                                                                                         0.1s
 ✔ Container ref-compose-worker-1 Removed                                                                                                         0.0s
 ✔ Container ref-compose-cache-1  Removed                                                                                                         0.2s
 ✔ Volume ref-compose_cache_data  Removed                                                                                                         0.0s
 ✔ Network ref-compose_default    Removed                                                                                                         0.0s

$ docker volume ls
DRIVER    VOLUME NAME
  • down sin opciones: elimina los 3 contenedores y la red, pero conserva el volumen ref-compose_cache_data.
  • down -v -t 1: elimina también el volumen, así que se pierden los datos de Redis. -t 1 espera como máximo 1 segundo por contenedor antes de forzar la parada, lo que agiliza las cosas en un entorno de práctica. En producción, deja el valor por defecto para que la aplicación tenga tiempo de cerrarse correctamente.

Elegir entre down, stop y rm

ComandoContenedoresRedVolumenUso
docker compose stopDetenidos, se conservanSe conservaSe conservaPausar los servicios y reanudarlos después con start
docker compose rmElimina los contenedores detenidosSe conservaSe conservaRara vez se usa por sí solo
docker compose downLos detiene y eliminaSe eliminaSe conservaApagado normal; los datos están a salvo
docker compose down -vLos detiene y eliminaSe eliminaSe eliminaEmpezar de cero, por ejemplo para reinicializar una base de datos

Los scripts de inicialización de bases de datos y las variables de contraseña solo surten efecto con el volumen vacío. Por eso, si cambias esa configuración y quieres reinicializar, usa down -v; consulta los detalles en MySQL.

Capítulos relacionados

Ejercicios

Ejercicio: con un solo comando, detén y elimina los contenedores, la red y las imágenes construidas por Compose del proyecto, pero conserva los datos.

Respuesta
docker compose down --rmi local

Sin -v, los volúmenes se conservan.

Preguntas frecuentes

¿docker compose down borra los datos de la base de datos?

**No**, si no añades opciones. Los volúmenes se conservan y tus datos seguirán ahí la próxima vez que ejecutes up. Añade -v para eliminar los volúmenes declarados en compose.yaml.

¿Las imágenes siguen ahí después de down?

Sí. Usa --rmi local para eliminar las imágenes construidas por Compose, o --rmi all para eliminar también las descargadas.

¿Y si solo quiero detener temporalmente sin eliminar los contenedores?

Usa docker compose stop y, para reanudar, docker compose start.

Actualizado 14 de octubre de 2026