Health Check
- Health Check
Uma verificação de integridade é um mecanismo crucial projetado para avaliar a integridade operacional de contêineres. Ela fornece um meio de verificar se os aplicativos em execução dentro dos contêineres do Docker estão funcionando corretamente. Sem uma verificação de integridade especificada, o Docker não tem a capacidade de determinar autonomamente o status de integridade de um contêiner. Isso se torna especialmente crítico em ambientes de produção onde a confiabilidade e o tempo de atividade são primordiais.
A diretiva HEALTHCHECK no Docker permite que os desenvolvedores definam verificações de integridade personalizadas, normalmente na forma de comandos ou scripts, que inspecionam periodicamente o estado do contêiner e relatam sua integridade. Essa diretiva garante monitoramento proativo e ajuda as ferramentas de orquestração do Docker a tomar decisões informadas sobre o gerenciamento do ciclo de vida do contêiner com base no status de integridade.
Só pode haver uma diretiva HEALTHCHECK em um Dockerfile . Se houver mais de uma diretiva HEALTHCHECK , apenas a última entrará em vigor.
Por exemplo, podemos usar a seguinte diretiva para garantir que o contêiner possa receber tráfego no http://localhost/ponto de extremidade:
HEALTHCHECK CMD curl -f http://localhost/ || exit 1
O código de saída no final do comando anterior é usado para especificar o status de integridade de um contêiner 0e 1são valores válidos para este campo. 0significa um contêiner íntegro, 1significa um contêiner não íntegro.
Ao usar a diretiva HEALTHCHECK no Docker, é possível configurar parâmetros adicionais além do comando básico para personalizar como as verificações de integridade são executadas:
-
-interval: Especifica a frequência com que as verificações de integridade são executadas, com um intervalo padrão de 30 segundos.
-
-timeout: Define o tempo máximo permitido para que um comando de verificação de integridade seja concluído com sucesso. Se nenhuma resposta bem-sucedida for recebida dentro dessa duração, a verificação de integridade será marcada como falha. O tempo limite padrão também é definido como 30 segundos.
-
-start-period: Especifica o atraso inicial antes que o Docker comece a executar a primeira verificação de integridade. Este parâmetro permite que o contêiner tenha algum tempo para inicializar antes que as verificações de integridade comecem, com um período de início padrão de 0 segundos.
-
-retries: Define o número de verificações de integridade consecutivas com falha permitidas antes que o Docker considere o contêiner como não íntegro. Por padrão, o Docker permite até 3 tentativas.
No exemplo a seguir, os valores padrão de HEALTHCHECK são substituídos, fornecendo valores personalizados:
HEALTHCHECK \
--interval=1m \
--timeout=2s \
--start-period=2m \
--retries=3 \
CMD curl -f http://localhost/ || exit 1