Uso del comando Docker Healthcheck

Una de las nuevas características de Docker 1.12 es cómo la comprobación de la salud de un contenedor puede ser incorporada en la definición de la imagen. Y esto puede ser anulado en la línea de comandos. Al igual que el CMD instrucción, puede haber múltiples HEALTHCHECK en Dockerfile, pero sólo la última es efectiva.

Esta es una gran adición porque un contenedor que informa de su estado como Hasta 1 hora puede devolver errores. El contenedor puede estar activo pero no hay forma de que la aplicación dentro del contenedor proporcione un estado. Esta instrucción lo soluciona.

En Dockerfile que construye arungupta/couchbase imagen es:

Utiliza configure-node.sh para configurar el servidor mediante API REST de Couchbase. La nueva instrucción a tener en cuenta aquí es HEALTHCHECK. Esta instrucción se puede especificar como:

En puede ser:

  • --intervalo=DURACIÓN (por defecto 30s)
  • --timeout=DURACIÓN (por defecto 30s)
  • --retries=N (por defecto 3)

En es el comando que se ejecuta dentro del contenedor para comprobar su estado. Si la comprobación de salud está activada, el contenedor puede tener tres estados:

  • Inicio - Estado inicial cuando el contenedor aún está arrancando
  • saludable - Si el comando tiene éxito, entonces el contenedor está sano
  • insalubre - Si una sola ejecución de la  tarda más que el tiempo de espera especificado, entonces se considera no saludable. Si una comprobación de estado falla, se ejecutarán reintentos varias veces y el estado del contenedor Docker se declarará no saludable si sigue fallando.

El estado de salida de los comandos Docker indica el estado HEALTHCHECK del contenedor. Se permiten los siguientes valores:

  • 0 - el recipiente es saludable
  • 1 - el contenedor no es saludable

En nuestra instrucción, /piscinas La API REST se invoca utilizando curl. Si el comando falla, se mostrará un estado de salida 1 y esto marca al contenedor como no saludable para ese intento. Este comando Docker HEALTHCHECK se invoca cada 5 segundos. El contenedor se marca como no saludable si el comando no regresa con éxito en 3 segundos. Ejecute el contenedor como:

Compruebe el estado del contenedor Docker:

Observe cómo salud: inicio se informa del estado en ESTADO columna. Comprobación después de unos segundos muestra el estado:

Y ahora se informa de que está sano. Más detalles HEALTHCHECK instrucciones en docs.docker.com. Ahora bien, si está ejecutando una imagen que no tiene HEALTHCHECK entonces la instrucción docker run para especificar valores similares. Un comando equivalente en tiempo de ejecución sería:

Los 5 últimos controles de salud de un contenedor pueden obtenerse utilizando la función docker inspeccionar mando:

La salida se muestra como:

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.