docker container rm
| Descripción | Elimina uno o más contenedores |
|---|---|
| Uso | docker container rm [OPTIONS] CONTAINER [CONTAINER...] |
| Alias | docker container remove
docker rm |
Descripción
Elimina uno o más contenedores
Opciones
| Opción | Predeterminado | Descripción |
|---|---|---|
-f, --force | Fuerza la eliminación de un contenedor en ejecución (utiliza SIGKILL) | |
-l, --link | Elimina el enlace especificado | |
-v, --volumes | Elimina los volúmenes anónimos asociados al contenedor |
Ejemplos
Eliminar un contenedor
Esto elimina el contenedor referenciado bajo el enlace /redis.
$ docker rm /redis
/redis
Eliminar un enlace especificado con --link en la red bridge por defecto (--link)
Esto elimina el enlace subyacente entre los contenedores /webapp y /redis
en la red bridge por defecto, eliminando toda comunicación de red
entre ambos contenedores. Esto no se aplica cuando --link se utiliza con
redes especificadas por el usuario.
$ docker rm --link /webapp/redis
/webapp/redis
Forzar la eliminación de un contenedor en ejecución (--force)
Este comando fuerza la eliminación de un contenedor en ejecución.
$ docker rm --force redis
redis
El proceso principal dentro del contenedor referenciado bajo el enlace redis recibirá
SIGKILL, luego el contenedor será eliminado.
Eliminar todos los contenedores detenidos
Usa el comando
docker container prune para eliminar todos los
contenedores detenidos, o consulta el comando
docker system prune
para eliminar contenedores no utilizados además de otros recursos de Docker, como
imágenes y redes (no utilizadas).
Alternativamente, puedes usar docker ps con la opción -q / --quiet para
generar una lista de IDs de contenedores a eliminar y usar esa lista como argumento para
el comando docker rm.
Combinar comandos puede ser más flexible, pero es menos portable ya que depende de las características proporcionadas por la shell, y la sintaxis exacta puede diferir según la shell que se utilice. Para usar este enfoque en Windows, considera usar PowerShell o Bash.
El siguiente ejemplo utiliza docker ps -q para mostrar los IDs de todos los contenedores que
han finalizado (--filter status=exited), y elimina esos contenedores con
el comando docker rm:
$ docker rm $(docker ps --filter status=exited -q)
O, usando la utilidad de Linux xargs:
$ docker ps --filter status=exited -q | xargs docker rm
Eliminar un contenedor y sus volúmenes (-v, --volumes)
$ docker rm --volumes redis
redis
Este comando elimina el contenedor y cualquier volumen asociado a él. Ten en cuenta que si se especificó un volumen con un nombre, este no se eliminará.
Eliminar un contenedor y eliminar selectivamente volúmenes
$ docker create -v awesome:/foo -v /bar --name hello redis
hello
$ docker rm -v hello
En este ejemplo, el volumen para /foo permanece intacto, pero el volumen para
/bar es eliminado. El mismo comportamiento se aplica a los volúmenes heredados con
--volumes-from.