向Docker容器添加运行状况检查

时间:2020-06-01 13:36:53

标签: docker nginx docker-compose health-check

我正在尝试向Docker容器添加运行状况检查,因此在Dockerfile中我添加了这一行

HEALTHCHECK CMD curl --fail http://localhost:8080/health || exit 1

大致基于本教程:https://howchoo.com/g/zwjhogrkywe/how-to-add-a-health-check-to-your-docker-container。在我的docker-compose文件中,我添加了运行状况检查行,如下所示:

    healthcheck:
      test: ["CMD", "curl", "--silent", "--fail", "http://localhost:8080/health"]

,但是容器始终报告不健康。因此,如果我执行docker exec -it my-container /bin/bash并进入容器内部,然后执行运行状况请求,则会得到以下信息:

    $ curl --fail http://localhost:8080/health
    curl: (22) The requested URL returned error: 411 Length Required

我想念什么? Nginx已经安装在容器中,因此我想简单地使带有/health的URL起作用。

1 个答案:

答案 0 :(得分:1)

我放弃了在HEALTHCHECK中使用Dockerfile命令,而是通过添加

来更改nginx.conf文件
    location /health {
        access_log off;
        return 200 "healthy\n";
    }

docker-compose.yml保持不变。 这对我来说足够好。