HAProxy image带有一个非常紧凑的debian版本,无需ping,wget,curl或其他用于验证的命令。如何为其使用docker-compose健康检查,以验证HAProxy是否已启动并正在运行?
答案 0 :(得分:0)
您将在传递给docker容器的haproxy.cfg中配置运行状况检查。健康检查部分可能如下所示:
frontend frontend_name
...
use_backend healthcheck if { path_beg /health }
backend healthcheck
server disabled-server 127.0.0.1:1 disabled
errorfile 503 /path/to/template.html
以及健康检查模板文件:
HTTP/1.0 200 OK
Cache-Control: no-cache
Connection: close
Content-Type: text/plain
up
此方法的工作原理是运行状况检查后端,您可以从前端将其路由到您喜欢的/ health等路径。错误文件指令允许您返回自定义错误响应(在本例中为200),而不是使用503进行响应。
答案 1 :(得分:0)
类似的事情可能会起作用:
echo“”> / dev / tcp / $ {HOSTNAME} / $ {PORT} || 1号出口
使用带有bash的内置/ dev / tcp来测试与您知道HAProxy应该在其上运行的端口的连接,并且如果无法连接将失败。