docker health check 中的多个健康检查卷曲

App*_*ppu 7 docker health-check

为了确保容器的健康检查,我需要对多个 URL 执行测试调用。

curl -f http://example.comcurl -f http://example2.com

是否可以执行多个curl 调用来进行docker 健康检查?

jan*_*-di 5

您可以将脚本设置为运行状况检查命令,其中包含更复杂的逻辑来执行运行状况检查。这样您就可以通过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
Run Code Online (Sandbox Code Playgroud)


小智 3

虽然我无法测试,但我认为你可以使用以下内容

HEALTHCHECK CMD (curl --fail http://example.com && curl --fail http://example2.com) || exit 1
Run Code Online (Sandbox Code Playgroud)

如果您想首先手动检查此命令(没有退出部分),您可以通过以下方式检查最后一个错误代码

echo $? -> in linux
Run Code Online (Sandbox Code Playgroud)

echo %errorlevel% -> in windows
Run Code Online (Sandbox Code Playgroud)