【问题标题】:AWS ECS Fargate and port mappingAWS ECS Fargate 和端口映射
【发布时间】:2018-06-15 18:46:53
【问题描述】:

我有两个容器,它们暴露同一个端口。我想在同一个任务中运行它们,因为它们是同一个系统的一部分。但我无法使用 Fargate 执行此操作,因为没有端口映射,并且主机端口应与 awsvpc 网络模式的容器端口相同(仅受 Fargate 支持)。

这是 Docker 的基本功能,奇怪的是 Fargate 似乎不支持它。真的没有办法做到这一点还是我错过了什么?

【问题讨论】:

  • 您是否尝试联系亚马逊支持?你找到解决方案了吗?
  • 不,我没有解决方案,也没有亚马逊支持。
  • @AntonZherdev 您找到解决此问题的方法了吗?我也是这种情况,找不到合适的解决方案。谢谢!
  • @StéphanePéchard 不。我认为它不起作用。
  • 你能解释一下为什么容器不能使用不同的端口运行吗?如果它们是同一任务的一部分,在 Fargate 上,它们将被视为在同一台机器上运行,或者至少是在同一个“本地主机”网络上运行,该网络应该是超快的。如果它们需要一起运行,那么不同的端口似乎是最简单的解决方案。否则,他们需要完成两项任务,并且您需要额外的发现设置等。

标签: amazon-web-services amazon-ecs aws-fargate


【解决方案1】:

对您的服务使用应用程序负载平衡器,并在目标组中设置您的自定义端口,并且主机端口应设置为与容器端口相同。这是我们经过测试的解决方案。

【讨论】:

  • 如何在一个系统中运行两个使用相同端口的容器?
  • 我有不同的容器使用同一个端口。我想在一个系统中启动它们,因为它们将相互交互并且不能单独存在。我不需要负载均衡器,因为我只需要每个容器的一个实例。
  • 这为我节省了无数时间。谢谢!
【解决方案2】:

您将不得不切换到基于 ec2 的 ecs 而不是 Fargate。您还可以在不同的端口上运行并使用 Fargate 中的服务发现功能相互通信。可能需要更改代码。

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 2022-07-27
    • 2018-04-08
    • 1970-01-01
    • 2018-02-15
    • 2020-09-05
    • 2020-08-08
    • 2020-03-15
    相关资源
    最近更新 更多