我对 docker 和容器的概念还不熟悉。如果我的问题提得不对,请见谅。问题是 -
运行 docker 的 aws EC2 实例未能通过负载均衡器健康检查。我尝试从实例中 curl docker 容器托管的 web 服务,结果返回了错误。curl: (56) Recv failure: Connection reset by peer
我经历了这个问题
正如答案中所建议的,我netstat -an|grep LISTEN
在容器内使用了它,但它没有返回任何东西(没有错误。控制只是转到下一行,没有返回任何内容)。
我现在不知道该怎么办。请帮忙。
答案1
我猜想实际上没有任何东西监听该端口。您的容器是否真的在运行您希望它运行的服务?ps ax
正在运行的容器内部是否显示了您期望的进程?(例如,httpd
或者nginx
您希望在该端口上监听的任何内容?)
确保您的命令Dockerfile
具有适当的EXPOSE {port}
,RUN {command}
和/或CMD ...
语句。这将确保 1) 您想要的命令确实已启动,并且 2) 它所监听的端口已暴露给外界。