Usando o comando Docker Healthcheck

Um dos novos recursos do Docker 1.12 é como a verificação de integridade de um contêiner pode ser incorporada à definição da imagem. E isso pode ser substituído na linha de comando. Assim como o CMD instrução, pode haver vários VERIFICAÇÃO DE SAÚDE no Dockerfile, mas somente a última é eficaz.

Essa é uma ótima adição, pois um contêiner que informa o status como Até 1 hora pode retornar erros. O contêiner pode estar ativo, mas não há como o aplicativo dentro do contêiner fornecer um status. Essa instrução corrige isso.

Dockerfile que constrói arungupta/couchbase A imagem é:

Ele usa configure-node.sh para configurar o servidor usando API REST do Couchbase. A nova instrução a ser observada aqui é VERIFICAÇÃO DE SAÚDE. Essa instrução pode ser especificada como:

O pode ser:

  • --intervalo=DURAÇÃO (padrão 30s)
  • --timeout=DURATION (padrão 30s)
  • --retries=N (padrão 3)

O é o comando que é executado dentro do contêiner para verificar sua integridade. Se a verificação de integridade estiver ativada, o contêiner poderá ter três estados:

  • início - Status inicial quando o contêiner ainda está sendo iniciado
  • saudável - Se o comando for bem-sucedido, o contêiner estará íntegro
  • insalubre - Se uma única execução do  demorar mais do que o tempo limite especificado, ele será considerado insalubre. Se uma verificação de integridade falhar, novas tentativas serão executadas várias vezes e o status do contêiner do Docker será declarado insalubre se ainda falhar.

O status de saída dos comandos do Docker indica o status do HEALTHCHECK do contêiner. Os seguintes valores são permitidos:

  • 0 - o contêiner é saudável
  • 1 - o contêiner não é saudável

Em nossa instrução, /pools A API REST é chamada usando curl. Se o comando falhar, um status de saída de 1 é retornado, e isso marca o contêiner como não saudável para essa tentativa. Esse comando Docker HEALTHCHECK é chamado a cada 5 segundos. O contêiner é marcado como não saudável se o comando não retornar com êxito em 3 segundos. Execute o contêiner como:

Verifique o status do contêiner do Docker:

Observe como saúde: início O status é relatado no STATUS coluna. A verificação após alguns segundos mostra o status:

E agora ele é relatado como saudável. Mais detalhes sobre isso VERIFICAÇÃO DE SAÚDE As instruções podem ser encontradas em docs.docker.com. Agora, se você estiver executando uma imagem que não tenha VERIFICAÇÃO DE SAÚDE então a instrução execução do docker pode ser usado para especificar valores semelhantes. Um comando de tempo de execução equivalente seria:

As últimas 5 verificações de integridade de um contêiner podem ser obtidas usando o inspeção de docas comando:

A saída é mostrada como:

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.