# Borrar contenedor en Docker: aprende a liberar espacio

Los contenedores ocupan mucho espacio de almacenamiento y recursos en el sistema host. Si eliminas contenedores que ya no utilizas, podrás liberar espacio y mejorar el rendimiento del sistema.

## ¿Cuándo debes borrar contenedores de Docker?

Los [Docker Containers](https://www.ionos.com/es-us/digitalguide/servidores/know-how/docker-container/) son **unidades aisladas ejecutables** que contienen aplicaciones y sus dependencias. Para garantizar que el entorno Docker sea eficaz, seguro y esté organizado, es necesario borrar contenedores en determinadas situaciones.

En todo caso, debes **borrar los contenedores después de utilizarlos**. Una vez que se complete una tarea o un proceso de un contenedor, se recomienda eliminarlo del entorno. Así se evita que los contenedores inactivos ocupen recursos y espacio de forma innecesaria.

También es aconsejable eliminar los contenedores que ya no se utilicen o no se hayan actualizado durante mucho tiempo. Esta acción es especialmente importante para **minimizar riesgos de seguridad**, ya que los contenedores más antiguos pueden tener versiones de software vulnerables u obsoletas.

Si sospechas que un contenedor no es seguro, debes borrarlo de inmediato. Lo mismo debes hacer con los contenedores que no pueden iniciarse debido a conflictos u otros problemas.

## Borrar uno o varios contenedores

Cuando hay contenedores innecesarios o inactivos en el host, uno de los procedimientos habituales es **eliminar uno o más contenedores**.

### Paso 1. Seleccionar los nombres o ID de los contenedores

En primer lugar, tienes que saber **qué nombres o ID de contenedores borrar**. Para obtener una lista de todos los contenedores detenidos y en ejecución, puedes utilizar el siguiente comando:

```bash
docker ps -a
```

### Paso 2. Borrar contenedores

Solo debes introducir el comando **docker rm** seguido de los ID o nombres de los contenedores separados por un espacio:

```bash
docker rm container_id_or_name1 container_id_or_name2
```

## Eliminar un contenedor tras su ejecución

Para **eliminar automáticamente un contenedor de Docker**, añade el indicador `--rm` al ejecutar el contenedor con el comando `docker run`. Gracias a este indicador, el contenedor se borra automáticamente una vez se termina de utilizar.

```bash
docker run --rm image_name
```

## Borrar todos los contenedores que han terminado su ejecución

También es posible eliminar a la vez todos los contenedores que han terminado su ejecución filtrándolos por su estado y utilizando el comando `rm`.

### Paso 1. Listar contenedores terminados

Puedes filtrar la lista de contenedores mediante la opción `-f status=exited` para mostrar solo los contenedores terminados.

```bash
docker ps -a -f status=exited
```

### Paso 2. Eliminar contenedores terminados

Utiliza el resultado del paso anterior para obtener los ID de los contenedores terminados. Pásalos directamente al comando `docker rm`.

```bash
docker rm $(docker ps -a -f status=exited -q)
```

## Borrar contenedores en Docker con más de un filtro

Para eliminar contenedores utilizando varios filtros, puedes utilizar el comando `docker ps` junto con las opciones de filtro correspondientes y luego pasar los ID resultantes al comando `docker rm`.

### Paso 1. Listar contenedores con filtros

En primer lugar, debe introducirse el comando `docker ps` con las opciones de filtro para obtener una lista con los contenedores según los filtros deseados. El estado “created” puede seleccionarse junto con “exited”. El **estado created** hace referencia a contenedores que se han creado, pero que aún no se han ejecutado.

```bash
docker ps -a -f status=exited -f status=created
```

### Paso 2. Borrar contenedores de Docker

Igual que en el ejemplo anterior, debes escribir `docker rm` con el resultado que hayas obtenido.

```bash
docker rm $(docker ps -a -f status=exited -f status=created -q)
```

## Eliminar contenedores según un patrón

Una forma eficaz de borrar contenedores de manera selectiva es encontrar todos los contenedores que coinciden con un patrón. Después debes eliminarlos utilizando **`awk`, `xargs` y `docker rm`**.

### Paso 1. Encontrar todos los contenedores con un patrón

Al utilizar el comando `docker ps -a` en combinación con `grep`, obtendrás todos los contenedores cuyos nombres o etiquetas coincidan con un patrón específico. Por ejemplo, puedes listar los contenedores cuyos nombres empiecen por “test-”:

```bash
docker ps -a | grep "test-"
```

### Paso 2. Eliminar contenedores en Docker

Mediante el comando `awk` es posible **seleccionar columnas específicas del resultado**. En este caso, queremos extraer la primera columna que contiene los ID de los contenedores. Finalmente, puede utilizarse `xargs` para pasar los ID al comando `docker rmi` y borrar los contenedores de Docker.

```bash
docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmi
```

## Detener y borrar todos los contenedores de Docker

Puedes detener y eliminar todos los contenedores activos e inactivos del sistema a la vez, lo que puede ser útil al realizar una **limpieza completa del entorno Docker**.

### Paso 1. Enumerar contenedores

Para comprobar la lista de contenedores, debes escribir el siguiente comando:

```bash
docker ps -a
```

### Paso 2. Detener contenedores

Cuando hayas realizado tu selección, reenvía el resultado a `docker stop`. De este modo, todos los contenedores se detendrán.

```bash
docker stop $(docker ps -a -q)
```

### Paso 3. Borrar contenedores en Docker

Una vez que estén detenidos todos los contenedores, puedes eliminarlos utilizando el comando `docker rm`:

```bash
docker rm $(docker ps -a -q)
```

A diferencia de los contenedores de Docker normales, los [Docker volumes](https://www.ionos.com/es-us/digitalguide/servidores/know-how/docker-container-volumes/) son mecanismos con los que se pueden persistir e intercambiar datos entre los contenedores y el sistema host. En nuestra guía encontrarás tutoriales sobre cómo [borrar Docker volumes](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/borrar-volumenes-en-docker/) o cómo borrar Docker Images.


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/servidores/configuracion/borrar-contenedores-de-docker/](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/borrar-contenedores-de-docker/) for AI/LLM consumption.