Repaso
English
Cloud y DevOpsAvanzadoOPS-07

Un contenedor muere con el código de salida 137. ¿Qué suele haber pasado?

Opciones

  1. Un error de sintaxis detuvo el contenedor al arrancar
  2. Recibió SIGKILL (128 + 9), a menudo del OOM killer al llegar al límite de memoria (Opción correcta)
  3. Un apagado normal pedido con docker stop
  4. Un timeout de red mientras descargaba su imagen

Respuesta

Recibió SIGKILL (128 + 9), muy a menudo del OOM killer al llegar al límite de memoria

Por qué

Los códigos de salida por encima de 128 significan 'matado por una señal': código = 128 + número de señal. 137 = 128 + 9, y la señal 9 es SIGKILL, que no se puede capturar.

La razón más común es que el contenedor usa más memoria que su límite, así que el OOM (out-of-memory) killer del kernel lo detiene.

Compruébalo con docker inspect (OOMKilled: true) o kubectl describe pod. 143 = SIGTERM, una petición normal de parada.

Recuerda

137 = matado (a menudo sin memoria). 143 = se le pidió parar.

Términos clave

Practica esta pregunta en Repaso