Detener o eliminar contenedores uno por uno está bien cuando ejecuta varios contenedores, pero no cuando ejecuta varios contenedores de microservicios.
En mi caso, tengo un montón de microservicios implementados y apilados juntos. Tengo más de 25 contenedores de servicios ejecutándose en total y ahora quiero detenerlos. ¿Qué comando debo ejecutar para detener o eliminar inmediatamente todos los contenedores de Docker?
No es gran cosa; puede eliminar o detener inmediatamente un contenedor ejecutando un solo comando, que es una confluencia de varios comandos.
Tabla de Contenidos
Detener un contenedor en Docker
Creo que muchos usuarios nuevos pueden no estar seguros de cómo detener/eliminar un solo contenedor de Docker. Entonces, compartiré con usted los comandos básicos para detener un solo contenedor desde Docker y luego verá cómo detener varios contenedores a la vez desde Docker.
Detener un solo contenedor en Docker
Cuando desea detener un contenedor de Docker, necesita conocer el ID del contenedor, pero el problema es cómo obtener la información del contenedor. Esto es muy simple. Simplemente ejecute el siguiente comando y copie la ID del contenedor:
docker ps
Para obtener resultados precisos, puede ejecutar el siguiente comando, que omitirá información que no sea la ID del contenedor:
docker ps -q
d9c75e035827
bef968c8cc70
cd9e7dc6ad3d
252b61c8195d
a3bd7afd45c6
********* SNIPPED OUT *********
7617dc0638b5
939d11a1b334
8326c8d47bb8
Una vez que conozca la ID del contenedor, ejecute el código a continuación para detener el contenedor correspondiente, asegurándose de reemplazarlo con la ID del contenedor real:
docker stop [CONTAINER-ID]
OR
docker kill [CONTAINER-ID]
Ya sea que quieras usarlo, depende de ti. detener o matar Detener un contenedor en ejecución.si estás usando detener, entonces enviará un SIGTERM Señal para detener un contenedor en marcha.
Por lo tanto, puede llevar unos segundos detener el contenedor.si utiliza matar, entonces enviará un matar Señal para matar un contenedor en ejecución, que es una forma de fuerza bruta de detener un contenedor en ejecución. Sin embargo, todo depende de tu situación.
Interrumpir o pausar la ejecución de comandos en Linux
Detener varios contenedores en Docker
Después de seguir la guía anterior, comprenderá completamente cómo detener un solo contenedor y el proceso detrás de él.
Ahora eliminemos varios contenedores de Docker a la vez con un comando simple. Como puede ver, los siguientes comandos se explican por sí mismos, por lo que no creo que necesite una explicación para este comando en particular.
docker stop $(docker ps -aq)
OR
docker kill $(docker ps -aq)
Si no ha agregado Docker al grupo sudo, debe ejecutar los siguientes comandos.Alternativamente, puede Agregar Docker al grupo sudo Siga la guía para crear un usuario SUDO en Linux, luego puede ejecutar el comando anterior:
sudo docker stop $(sudo docker ps -aq)
OR
sudo docker kill $(sudo docker ps -aq)
En respuesta al comando anterior, la terminal imprimirá los ID del contenedor uno por uno después de que el contenedor en ejecución salga con éxito.
Para verificar, puede escribir el siguiente comando:
docker ps
Eliminar un contenedor de Docker
Una vez que los contenedores ya no estén en uso, es posible que desee eliminarlos de Docker. De manera similar al método anterior, puede eliminar uno o varios contenedores de Docker a la vez al pasar un solo comando.
Eliminar un solo contenedor de Docker
Antes de retirar el contenedor, debe detener el contenedor y luego retirar el contenedor.Al eliminar un contenedor de Docker, necesitará número de contenedorque puede obtener de:
docker ps -a
OR
docker ps -aq
producción:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bef968c8cc70 traefik:2.5 "/entrypoint.sh --pr…" 11 days ago Exited (0) 59 minutes ago appwrite-traefik
cd9e7dc6ad3d appwrite/appwrite:0.13.3 "executor" 11 days ago Exited (137) 25 minutes ago appwrite-executor
********* SNIPPED OUT *********
06370db2c0d3 appwrite/influxdb:1.0.0 "/entrypoint.sh infl…" 11 days ago Exited (0) 26 minutes ago appwrite-influxdb
Una vez que tenga la ID del contenedor, puede ejecutar comandos posteriores, no olvide actualizar la ID del contenedor a la ID correcta.
docker rm [CONTAINER-ID]
Eliminar varios contenedores de Docker
El método anterior no es fiable. ¿Qué debe hacer si desea eliminar todos los contenedores de su máquina Docker? No te quedes más tiempo. Puede eliminar todos los contenedores del sistema Docker con el siguiente comando.
Para realizar el proceso de eliminación, puede ejecutar el siguiente comando:
docker rm $(docker ps -aq)
OR
sudo docker rm $(sudo docker ps -aq)
Los ID de contenedor se imprimirán en su pantalla uno por uno, lo que puede interpretarse como una indicación de que la ejecución se completó con éxito sin ninguna interrupción.
Para volver a autenticarse, puede ejecutar el siguiente comando y no encontrará un solo contenedor en el sistema Docker.
docker ps -a
Comando Trim para detener y eliminar todos los contenedores de Docker
El método anterior es una forma conveniente de detener y eliminar todos los contenedores del sistema. Sin embargo, hay otro comando que es más conveniente que el método tradicional.
Una especie de ciruela pasa El comando lo ayuda a eliminar todos los elementos innecesarios, como imágenes, contenedores, redes, volúmenes, etc., que se pueden eliminar de una sola vez sin tocar otros contenedores en ejecución.
La sintaxis para eliminar todos los contenedores detenidos a la vez es muy simple e interactiva:
docker container prune
OR
sudo docker container prune
salida interactiva
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
b9fa43d897b9e25ebdc35d517b74d30b37e9961501ec78c3777fd96700868ade
debb43cb77f8f89279431d9bc2db3c3111c02f94c343c77279c2cd4b6ce1344e
57036f0011e5a2341647d9cf4e471e21153926e7fe2aac40d6983bc99ce00c30
b574f0cc20eafe55f031b828bca592e651ae420901edece4b905fdbe343bea03
bee407c6564b818c8baa316710f211579154f559c79649d8f702a979af7b7137
6d69524e099deeab3f6be51248ae971a327a7360c0e4e303dbd3914298f6ef28
Total reclaimed space: 0B
envolver
Eso es todo lo que necesita para detener y eliminar varios contenedores de Docker. Ahora sabe cómo detener y eliminar contenedores únicos y múltiples al mismo tiempo utilizando métodos especiales. prune
Pedido.
¡disfrútala!
Un tipo apasionado por la tecnología, exploró algunas tecnologías increíbles y exploró más, y mientras avanzaba, tuve la oportunidad de trabajar en el desarrollo de Android, Linux, AWS, DevOps usando varias herramientas de código abierto.
Uno de mis lemas de vida es «Sé siempre un estudiante de por vida».