Los contenedores son increíbles cuando se trata de probar e implementar un proyecto. Pero los contenedores pueden consumir rápidamente espacio en disco si crea varios contenedores.
En este tutorial para principiantes de Docker, le mostraré cómo eliminar los contenedores de Docker.
En la forma más simple, puede eliminar un contenedor docker con el comando docker rm:
docker rm container_id_or_name
Si desea eliminar todos los contenedores, primero detenga los que están en ejecución y luego elimínelos:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
Pero no siempre tendrás una vida sencilla con contenedores. Y es por eso que voy a mostrar varios escenarios en los que puede eliminar contenedores docker.
Ejemplos prácticos de eliminación de contenedores docker
Como puede adivinar, para eliminar un contenedor, necesita saber su nombre o ID. Puede verificar todos los contenedores docker en su sistema (tanto detenidos como en ejecución) con el comando docker ps como este:
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07e97581c5d8 debian "bash" 9 minutes ago Up 9 minutes container2
6ef4545eef37 ubuntu "bash" 11 minutes ago Up 11 minutes container1
707e40ce3c5a ubuntu "/bin/bash" 15 minutes ago Exited (0) 15 minutes ago boring_payne
8047ab8e3673 ubuntu "/bin/bash" 34 minutes ago Exited (0) 15 minutes ago relaxed_wiles
ce84231ab213 debian "bash" 42 minutes ago Exited (0) 42 minutes ago bold_golick
12a18eaa291b hello-world "/hello" 2 days ago Exited (0) 2 days ago brave_mendeleev
La primera columna proporciona el ID del contenedor y la última columna proporciona el nombre del contenedor. También puede notar que los contenedores acoplables en ejecución tienen "Arriba" en la columna Estado.
Ahora que sabe cómo obtener el ID y el nombre del contenedor, veamos cómo eliminarlo:
Eliminar contenedor acoplable
Este es el más simple. Utiliza el ID o el nombre del contenedor de esta manera:
docker rm container_id_or_name
No obtendrá un mensaje como contenedor eliminado en la salida. Simplemente muestra la identificación del contenedor o el nombre que proporcionó.
[email protected]:~$ docker rm 12a18eaa291b
12a18eaa291b
Eliminar un contenedor en ejecución
Si un contenedor se está ejecutando e intenta eliminarlo, verá un error como este:
[email protected]:~$ docker rm container1
Error response from daemon: You cannot remove a running container 6ef4545eef378788e5e9d7ac1cf2e0a717480608adb432be99fd9b3d3a604c12. Stop the container before attempting removal or force remove
Claramente, primero debe detener el contenedor docker y luego eliminarlo:
docker stop container_id_or_name
docker rm container_id_or_name
Forzar la eliminación de un contenedor docker en ejecución (no recomendado)
Docker le ofrece la opción -f para forzar la eliminación de un contenedor. Con esto, puede eliminar un contenedor en ejecución:
docker rm -f container_id_or_name
Esto no se recomienda porque envía un comando de eliminación y es posible que su contenedor no guarde su estado.
Eliminar varios contenedores docker
Puede especificar más de un contenedor docker mientras elimina:
docker rm container1 container2 container3
Eliminar varios contenedores acoplables asociados con una imagen acoplable en particular
En el ejemplo, supongamos que desea eliminar todos los contenedores asociados con la imagen de la ventana acoplable de ubuntu.
Te aconsejo que primero detengas los contenedores:
docker ps -a -q --filter ancestor=ubuntu | xargs docker stop
Y luego elimine estos contenedores:
docker ps -a -q --filter ancestor=ubuntu | xargs docker rm
Para explicar el comando anterior, docker ps
la salida del comando se filtró con contenedores asociados con la imagen de ubuntu y luego el -q
La opción solo proporciona la identificación de los contenedores. Combínelo con el comando xargs para enviar los ID de contenedor (asociados a Ubuntu) al comando docker rm.
Eliminar todos los contenedores detenidos
Si desea eliminar todos los contenedores detenidos, puede filtrarlos por su estado y luego detenerlos de esta manera:
docker ps -a -q -f status=exited | xargs docker rm
Eliminar todos los contenedores Docker
Si desea eliminar todos los contenedores de su sistema, debe asegurarse de detener todos los contenedores primero y luego eliminarlos:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
Espero que les haya gustado este tutorial de Docker. Estén atentos para más.