除HTTP以外的ECS服务保持重新启动

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

通常情况下,如果一个容器反复重新启动,因为它没有通过您设置的健康检查。 例如,MongoDB不使用HTTP协议,所以如果您在ECS中使用HTTP健康检查将其设置为服务,则无法通过健康检查,并且ECS未能通过健康检查就会被杀掉。

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

如果您尝试运行的服务实际上具有HTTP接口,但它仍然没有通过健康检查并将其杀死,那么您应该进行一些debugging以validation实例是否具有正确的安全组规则,以接受来自负载平衡器的stream量。 另外,您应该validation您在任务定义中定义的端口是否与健康检查的端口匹配。