除 HTTP 之外的 ECS 服务不断重启

Alw*_*ner 2 containers amazon-ecs amazon-elb docker

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

nat*_*eck 8

通常,如果容器一遍又一遍地重新启动,那是因为它没有通过您设置的运行状况检查。例如,MongoDB 不使用 HTTP 协议,因此如果您在 ECS 中将其设置为具有 HTTP 运行状况检查的服务,它将无法通过运行状况检查,并且会因未能通过运行状况检查而被 ECS 终止。

我的建议是在不使用运行状况检查的情况下启动此类服务,无论是作为独立任务还是使用您自己的运行状况检查机制。

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