【问题标题】:Running Docker Image with AWS ECS使用 AWS ECS 运行 Docker 映像
【发布时间】:2017-04-20 11:49:29
【问题描述】:

我正在尝试将 AWS ECS 配置为运行 Docker 映像,该映像在端口 3000 上运行了一个应用程序。当我将我的 ECS 容器配置为将主机端口 80 转发到容器端口 3000 时,ECS 告诉我我的容器已启动并正在运行.但是,访问我的 EC2 实例的公共 IP 会导致超时(而不是应用程序主页,就像我预期的那样)。

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

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

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

【问题讨论】:

  • 您的任务定义如何?当您第一次 ssh 进入实例时,docker 容器是否正在运行?
  • 是的,当我第一次 ssh 进入实例时,Docker 容器正在运行。我放弃了 ECS,转而自己在 EC2 实例上运行 Docker。

标签: amazon-web-services docker amazon-ecs


【解决方案1】:

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

【讨论】:

  • 这没有意义,回复:有趣的是,如果我 ssh 进入我的 EC2 实例并手动重新启动图像,我可以在浏览器中导航到端口 80 上的应用程序美好的。这是我用来手动运行映像的命令: docker run -i -t -p 80:3000 <image>
猜你喜欢
  • 2019-09-10
  • 2019-01-01
  • 2020-12-30
  • 1970-01-01
  • 2022-01-19
  • 2021-12-11
  • 2021-08-10
  • 1970-01-01
  • 2019-01-29
相关资源
最近更新 更多