HTTP之外的ECS服务不断重启

时间:2017-06-26 23:42:55

标签: docker containers amazon-elb amazon-ecs

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

1 个答案:

答案 0 :(得分:2)

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

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

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