Una instrucción HEATHCHECK determina el estado de un contenedor Docker. Determina si el contenedor se está ejecutando en un estado normal o no. Realiza comprobaciones de estado a intervalos regulares. El estado inicial está comenzando y después de un chequeo exitoso, el estado se vuelve saludable. Si la prueba sigue sin tener éxito, se convierte en un estado no saludable .
Algunas opciones proporcionadas por la instrucción HEALTHCHECK son:
- –interval= : Determina el intervalo entre 2 controles de salud. El intervalo predeterminado es de 30 s.
- –timeout= : si el comando HEALTHCHECK excede la duración especificada, se clasifica como una falla. La duración predeterminada es de 30 s.
- –retries= : si alcanza el número especificado de reintentos, se considera que el estado no es saludable. El número predeterminado de reintentos es 3.
En este artículo veremos ejemplos prácticos de cómo usar el comando HEALTHCHECK en tu Dockerfile . Crearemos un contenedor Nginx y determinaremos sus estados. Siga los pasos a continuación para verificar el estado de su dockerfile :
Paso 1: Crea un Dockerfile
Puede usar la siguiente plantilla para crear el Dockerfile.
FROM nginx:latest HEALTHCHECK --interval=35s --timeout=4s CMD curl -f https://localhost/ || exit 1 EXPOSE 80
En el Dockerfile anterior , extraemos la imagen base de nginx y realizamos un HEALTHCHECK con el intervalo y el tiempo de espera especificados.
Paso 2: crea la imagen de Docker
Podemos construir la imagen de Docker usando el comando de construcción.
sudo docker build -t healthcheck-demo .
Paso 3: ejecutar el contenedor
Aquí, comprobaremos si el archivo nginx.conf existe o no. Estableceremos el comando mientras ejecutamos el contenedor Docker.
sudo docker run --name=healthcheck-demo -d --health-cmd='stat /etc/nginx/nginx.conf || exit 1' healthcheck-demo /* This line must be without the breaks, it's done for viewing purpose*/
Paso 4: Determinar el estado del Contenedor
Puede usar el comando de inspección para determinar el estado del Contenedor.
sudo docker inspect --format='' healthcheck-demo
Obtendrá todos los detalles sobre el contenedor junto con los estados durante todos los controles de salud.
Para concluir, en este artículo discutimos qué son las instrucciones HEALTHCHECK , cuáles son sus usos, las diversas opciones que puede usar junto con él. Usamos el contenedor nginx para demostrar lo mismo con ejemplos prácticos.