¿Qué es Dockerfile Healthcheck?

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Dockerfile Healthcheck es una opción del sistema que se encarga de indicarle al daemon de Docker cómo comprobar que el contenedor se encuentre funcionando, es decir, le dice cómo probar un determinado container de Docker para verificar si aún se encuentra realizando sus labores.

Esta instrucción permite que el sistema sea capaz de detectar casos de errores, como, por ejemplo, un servidor web que esté atascado en un bucle infinito y que no pueda controlar las conexiones nuevas, incluso si el proceso de este servidor sigue ejecutándose dentro de la plataforma.

Cuando un contenedor cuenta con una verificación de health especificada, tiene un estado de salud o health status o healthy docker, además de su estado normal, que, de manera inicial, es el estado de starting. En cada ocasión en la que la herramienta Dockerfile Healtcheck realiza una verificación de estado, el contenedor pasa a estar en healty status del healthy docker , independientemente del estado en el que se encontrara anteriormente. Después de darse una determinada cantidad de fallos consecutivos dentro del container, este actualiza su estado a unhealthy.

Características de Dockerfile Healthcheck

Una de las principales características de la instrucción de Dockerfile healthcheck test es que cuenta con dos opciones principales, denominadas HEALTHCHECK [OPTIONS] CMD command y HEALTCHECK NONE. Por una parte, la primera opción hace referencia a la herramienta que permite verificar el estado del container, a través del uso y ejecución de alguno de los comandos disponibles para ese contenedor determinado. Por otro lado, la segunda opción se encuentra relacionada con el proceso de inhabilitación de cualquiera de los controles de salud que pudieran haber sido heredados por la base imagen o imagen base.

Además, cuando se modifica el estado de salud de un contenedor en específico, health_status se encarga de generar un evento que indique el nuevo estado en el que se encuentra el container.

Otra de las características de esta herramienta es que solo puede existir una instrucción de Healtcheck dentro de un Dockerfile, por lo que, en los casos en los que se enlisten más de uno, el sistema solo hará que el último Dockerfile Healtcheck tenga efecto.

Comprobación de estado en Dockerfile Healthcheck

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Al realizar la comprobación de estado con la herramienta de Dockerfile Healthcheck, este chequeo primero se ejecuta en formato de intervalos de segundos después de haberse iniciado el contenedor determinado. A continuación, el proceso se repite nuevamente en intervalos de segundo posteriores a cada comprobación inmediatamente anterior.

En el caso de que una sola ejecución de comprobación tardara más segundos del tiempo de espera, el sistema determinará que este chequeo de Dockerfile Healthcheck ha fallado.

También es importante destacar que los denominados reintentos fallidos que sucedan de forma consecutiva para verificar el estado son necesarios para que el sistema catalogue al contenedor en el estado unhealthy.

En lo que respecta al periodo de inicio de esta comprobación helthcheck, se puede agregar que es el encargado de ofrecer el tiempo de inicialización para aquellos containers que requieran tiempo para poder llevar a cabo su proceso de arrancado en la plataforma. En el caso de que una verificación de estado de healtchek resulte exitosa durante su periodo de inicio, el sistema va a considera al contenedor como iniciado y todas las fallas que sucedan consecutivamente se sumarán para la cantidad máxima de reintentos.

¿Cuál es el siguiente paso?

En este artículo has podido aprender qué es la herramienta Dockerfile Healthcheck, además de cuáles son sus características y funciones principales dentro del sistema; ahora, no dudes en seguir avanzando y continúa tu aprendizaje en relación a esta y otras herramientas a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en escasos 6 meses te habrás convertido en un profesional del sector IT y dominarás todo lo necesario para obtener una ventaja frente a tus competidores. ¡Apúntate!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado