2016-12-05 182 views
0

我试图配置AWS ECS以运行具有在端口3000上运行的应用程序的Docker映像。当我将ECS容器配置为将主机端口80转发到容器端口3000时ECS告诉我我的容器正在运行。但是,转到我的EC2实例的公共IP会导致超时(而不是应用程序主页,如我所期望的)。使用AWS ECS运行Docker映像

有趣的是,如果我手动进入EC2实例并手动重新启动映像,我可以在浏览器中导航到端口80上的应用程序。这里是命令我使用手动运行映像:

docker run -i -t -p 80:3000 <image>

有谁知道为什么当手动启动和端口转发并ECS端口转发不起作用?我可能会错过什么?

+0

你的任务定义是怎样的?码头容器在第一次进入实例时运行吗? – doorstuck

+0

是的,当我第一次使用实例时,Docker容器正在运行。我放弃了ECS,并转而在EC2实例上自己运行Docker。 – Reggie

回答

0

我会首先怀疑问题是您的安全组没有打开3000端口。作为测试,添加一个端口范围为3000的TCP规则,将源更改为Anywhere0.0.0.0/0, ::/0

+0

这没有任何意义,回复: _有趣的是,如果我ssh到我的EC2实例并手动重新启动图像,我可以导航到我的浏览器在端口80上的应用程序就好了。这里是我用来手动运行图像的命令:_ 'docker run -i -t -p 80:3000 ' – Reggie