首页 > 解决方案 > 无法从外部访问正在运行的 EC2 Dockerized 映像

问题描述

问题

我无法从 EC2 实例外部访问正在运行的 docker 映像。

我试过的

docker ps
CONTAINER ID        IMAGE                                                                COMMAND                  CREATED             STATUS                 PORTS                     NAMES
af20230498fb        <ecr-id>.dkr.ecr.eu-central-1.amazonaws.com/app-be:latest   "docker-entrypoint.s…&quot;   11 minutes ago      Up 11 minutes          0.0.0.0:32805->5001/tcp   ecs-app-task-definition-26-app-be-fcf9ffc3f9dadf80d401
5d59c2b2bcaa        amazon/amazon-ecs-agent:latest                                       "/agent"                 2 hours ago         Up 2 hours (healthy)                             ecs-agent

当我这样做时:

> curl 0.0.0.0:32805/status
{"message":"OK","timestamp":1598871064086}

但是,当尝试从外部访问同一端点时,无论是从 EC2 实例的公共 IP 还是 Application Load Balancer DNS,都会超时。

另外:Application Load Balancer 的 /status 的运行状况检查也失败了,因此任务每 15 分钟重新启动一次。

感谢任何帮助,如果我犯了新手错误,请提前道歉,因为我对 AWS 没有太多经验。

标签: amazon-web-servicesdockeramazon-ec2amazon-ecs

解决方案


您是否配置了 EC2 的安全组或启动 EC2 的 VPC 的 NACL?

我看到您在任务中公开了端口 5001,所以在 SG 中,您应该打开该端口


推荐阅读