docker - 无法让 docker healthcheck 与 ECS Fargate v 1.4.0 一起使用

标签 docker amazon-ecs aws-fargate

我为我的 ECS Fargate 服务定义了一个运行状况检查,当我在本地测试并使用 Fargate v 1.3.0 时它可以工作。

但是当我更改为 Fargate 平台版本 1.4.0 时,它总是变得不健康。但实际的服务是有效的。我可以访问容器公共(public) IP 上的服务。

健康检查定义为:

"CMD-SHELL", "curl --fail http://localhost || exit 1"

最佳答案

因此,我们对此进行了调查,发现平台版本 1.4 中存在问题,如果运行状况检查输出任何内容到 stderr出现假阴性。显然,我们会解决这个问题,但与此同时,您可以通过(在这种情况下)以静默模式运行 curl 或简单地重定向 stderr 来解决此问题。输出到/dev/null:

curl -s --fail http://localhost || exit 1

或者
curl --fail http://localhost 2>/dev/null || exit 1

现在应该解除对您的阻止。

关于docker - 无法让 docker healthcheck 与 ECS Fargate v 1.4.0 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61222368/

相关文章:

docker - 将Postgres数据库的外部参数添加到keycloak k8s Helm chart 环境参数中

Docker 堆栈部署滚动更新卷问题

bash - 本地机器覆盖的 Docker 镜像环境变量

ssl - 如何在 ECS Fargate 上使用 SSL/TLS

amazon-ecs - 使用非 root 用户时无法写入 ECS Fragate 上的绑定(bind)挂载

amazon-web-services - Aws ecs fargate ResourceInitializationError : unable to pull secrets or registry auth

docker - 如何通过docker管理连接被拒绝错误elasticsearch-kibana-nginx?

docker - Kubernetes 和 GKE 有什么区别?

amazon-web-services - AWS ECS 生产 Docker 部署

amazon-web-services - 尽管没有可用的现货实例,AWS ECS 任务仍在运行