¿Hay algún comando que pueda combinar el comando docker stop
y docker rm
? Cada vez que quiero eliminar un contenedor en ejecución, necesito ejecutar 2 comandos secuencialmente, me pregunto si hay un comando combinado que pueda simplificar este proceso.
docker stop CONTAINER_ID
docker rm CONTATINER_ID
Respuestas:
Puedes usar :
Eliminará el contenedor incluso si todavía se está ejecutando.
https://docs.docker.com/engine/reference/commandline/rm/
También puede ejecutar sus contenedores con la
--rm
opción, se eliminará automáticamente cuando se detenga.https://docs.docker.com/engine/reference/run/#clean-up-rm
Editar: El
rm -f
podría ser peligroso para sus datos y es el más adecuado para los contenedores de prueba o de desarrollo. Vale la pena leer el comentario de @ Bernard sobre este tema.fuente
docker rm -f
envía una señal SIGKILL al contenedor. Esto puede no permitir que el contenedor tenga tiempo para guardar su estado correctamente. Para los contenedores no apátridas, uno realmente debería usardocker stop
seguido dedocker rm
. Esto envía una señal SIGTERM que, por defecto, le da a los contenedores un máximo de 10 segundos para que se apaguen antes de que el demonio acoplable finalmente envíe un SIGKILL.fuente
Puede detener y eliminar el contenedor con un solo comando que
$_
le da el último ecofuente
En mi caso, para eliminar todos los contenedores en ejecución, utilicé
fuente
https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/
Puedes usar kill, y también usando rm y la bandera de fuerza también usará kill.
fuente
Retire todos los contenedores:
docker ps -aq | xargs docker rm -f
fuente
sudo docker ps -aq | sudo xargs docker rm -f
Esto detendrá y eliminará todas las imágenes, incluidos los contenedores en ejecución, ya que estamos usando -f
fuente
Use el comando docker ps con el indicador -a para ubicar el nombre o ID de los contenedores que desea eliminar
Para eliminar: $ docker rm ID_o_Name ID_or_Name
Retire un contenedor al salir:
Si sabe cuando está creando un contenedor que no querrá mantenerlo una vez que haya terminado, puede ejecutar docker run --rm para eliminarlo automáticamente cuando salga.
Ejecutar y eliminar:
docker run --rm image_name
Retire todos los contenedores salidos:
Puede ubicar contenedores utilizando docker ps -a y filtrarlos por su estado: creados, reiniciados, en ejecución, pausados o salidos. Para revisar la lista de contenedores salidos, use el indicador -f para filtrar según el estado. Cuando haya verificado que desea eliminar esos contenedores, use -q para pasar los ID al comando docker rm.
Lista:
Retire los contenedores con más de un filtro :
Los filtros Docker se pueden combinar repitiendo la bandera de filtro con un valor adicional. Esto da como resultado una lista de contenedores que cumplen cualquiera de las condiciones. Por ejemplo, si desea eliminar todos los contenedores marcados como Creado (un estado que puede resultar cuando ejecuta un contenedor con un comando no válido) o Salido, puede usar dos filtros:
Detener y quitar todos los contenedores:
fuente
Para retirar un solo contenedor
Para retirar todos los contenedores
fuente
Para eliminar todos los contenedores detenidos
docker system prune
Para detener el contenedor en vivo,
docker stop CONTAINER_ID
espera 10 segundos y llamadocker kill CONTAINER_ID
O con
docker kill CONTAINER_ID
, puede detener inmediatamente el contenedorfuente