在Docker健康检查中进行多个健康检查的请求

5
为确保容器的健康检查,我需要对多个URL进行测试调用。
使用curl -f http://example.comcurl -f http://example2.com进行测试。
是否可以在Docker健康检查中执行多个curl调用?
2个回答

4
您可以将一个包含更复杂逻辑的脚本设置为健康检查命令以执行健康检查。这样,您可以通过curl执行多个请求,并使脚本仅在所有请求都成功时返回正面结果。
# example dockerfile
COPY files/healthcheck.sh /healthcheck.sh
RUN chmod +x /healthcheck.sh
HEALTHCHECK --interval=60s --timeout=10s --start-period=10s \  
    CMD /healthcheck.sh

2
尽管我无法测试,但我认为您可以使用以下内容。
HEALTHCHECK CMD (curl --fail http://example.com && curl --fail http://example2.com) || exit 1

如果您想手动检查此命令(不包括退出部分),可以通过以下方式检查最后的错误代码:

echo $? -> in linux

并且

echo %errorlevel% -> in windows

谢谢回复。我尝试了,但它只调用了第一个URL。 - Appu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接