Detener el contenedor usando una señal personalizada por número
En el paso anterior, detuvimos un contenedor usando un nombre de señal (SIGTERM
). En este paso, aprenderemos cómo detener un contenedor usando una señal especificada por su número.
Cada señal tiene un número correspondiente. Por ejemplo, SIGKILL
es la señal 9, y SIGTERM
es la señal 15. Puedes encontrar una lista de señales y sus números en un sistema Linux usando el comando kill -l
.
kill -l
Este comando mostrará una lista de nombres de señales y sus números correspondientes.
Ahora, ejecutemos otro contenedor que permanecerá en ejecución, similar a los pasos anteriores.
docker run -d ubuntu sleep infinity
Obtén el ID o nombre de este nuevo contenedor en ejecución usando docker ps
.
docker ps
Ahora usaremos el comando docker kill
con el flag -s
, pero esta vez proporcionaremos el número de señal en lugar del nombre. Usemos el número de señal 9, que corresponde a SIGKILL
. Reemplaza <container_id_or_name>
con el ID o nombre real de tu contenedor en ejecución.
docker kill -s 9 <container_id_or_name>
Este comando envía la señal SIGKILL
(número 9) al proceso principal del contenedor especificado. Como se mencionó anteriormente, SIGKILL
termina el proceso inmediatamente.
Para verificar que el contenedor se ha detenido, ejecuta docker ps
nuevamente.
docker ps
El contenedor ya no debería aparecer en la lista de contenedores en ejecución. También puedes usar docker ps -a
para ver su estado, que debería ser "Exited".
El uso de números de señal puede ser útil en scripts o cuando necesitas ser preciso sobre la señal que se envía.