首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的停靠的微服务的动态端口设置

我的停靠的微服务的动态端口设置
EN

Stack Overflow用户
提问于 2019-06-13 21:53:12
回答 1查看 494关注 0票数 1

我想部署我的微服务的几个实例,它使用某些端口,但使其可伸缩,并且不在任务定义/ Dockerfile中修复该端口。我的微服务可以监听环境变量或命令行中提供的端口。

目前,所有微服务都在AWS ECS任务定义中描述,并具有静态端口分配。每个微服务都向Eureka服务器注册自己,现在我只能在不同的EC2实例上运行多个服务实例。

我希望能够在同一个EC2实例上运行多个容器,但是每个新的服务实例都应该有一些空闲的端口来监听它。

实现这一点的标准方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-06-13 22:14:59

只需在任务定义中将主机端口设置为0即可:

如果在EC2启动类型的任务中使用容器,您可以为您的容器端口映射指定一个非预留的主机端口(称为静态主机端口映射),或者您可以在指定容器端口时省略hostPort (或将其设置为0),您的容器将自动接收容器实例操作系统和Docker版本的临时端口范围内的端口(称为动态主机端口映射)。

默认临时端口范围为49153-65535,1.6.0之前的版本使用该范围。对于Docker版本1.6.0和更高版本,Docker守护进程尝试从/proc/sys/net/ipv4/ip_local_ port _range读取临时端口范围(在最新的Amazon ECS优化的AMI上为32768-61000)

因此,在这种情况下,您将需要应用程序LB在动态端口上路由流量。

您可以从这篇文章dynamic-port-mapping-in-ecs-with-application-load-balancer中获得帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56582069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档