HTTP以外的ECS服务不断重启

ECS Service other than HTTP keeps restarting

我通过 AWS ECS 安装了 Nginx ECS Docker 容器服务,运行 没有任何问题。但是,通过 AWS ECS 安装的所有其他容器服务,如 centos、ubuntu、mongodb 或 postgres,都会循环重启(注销、重新注册或处于挂起状态)。有没有一种方法可以使用 AWS ECS 安装这些容器服务而不会在 AMI Optimized Linux 上出现任何问题?另外,有没有办法在 AWS ECS 中注册 Docker 手动从 Docker Hub 中提取的 运行 容器?

通常,如果一个容器一次又一次地重新启动,那是因为它没有通过您设置的健康检查。 MongoDB 例如不使用 HTTP 协议,因此如果您在 ECS 中将其设置为具有 HTTP 健康检查的服务,它将无法通过健康检查,并会因未能通过健康检查而被 ECS 杀死.

我的建议是在不使用健康检查的情况下启动此类服务,作为独立任务或使用您自己的健康检查机制。

如果您尝试 运行 的服务确实有一个 HTTP 接口,但它仍未通过健康检查并被终止,那么您应该进行一些调试以验证该实例是否具有正确的安全性组规则以接受来自负载均衡器的流量。此外,您应该验证您在任务定义中定义的端口是否与健康检查的端口匹配。