当前位置: 首页 > 知识库问答 >
问题:

dockerized微服务的动态端口设置

步兴德
2023-03-14

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

共有1个答案

吉和同
2023-03-14

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

如果在具有EC2启动类型的任务中使用容器,则可以为容器端口映射指定非保留的主机端口(这称为静态主机端口映射),或者在指定容器端口时省略主机端口(或将其设置为0),容器自动接收容器实例html" target="_blank">操作系统和Docker版本的临时端口范围内的端口(这称为动态主机端口映射)。

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

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

您可以从这篇文章中获得帮助,这篇文章使用应用程序负载平衡器在ECS中进行动态端口映射。

 类似资料:
  • 问题内容: 这是初学者最常问的问题,因为我刚开始时就有这个问题 _如何在 不进行硬编码甚至自行选择端口的情况下设置用于 表达的 端口?_这是我从节点开始并表达时遇到的问题(我仍然是一个初学者,有很多东西要学习)。除了其他我想知道的事情, 在中 使用和直接使用端口号有什么 区别? 问题答案: 选项1:环境变量(推荐) 通常,您会将您的应用程序部署到Heroku等托管服务提供商。根据主机的配置方式,系

  • SpringCloud微服务运维最佳实践,如何动态定义各种启动参数? 笔者是一名Java服务端程序员,学习微服务后,在部署时发现过程复杂,且做的重复工作非常多,因此学习基本运维。目标是,使用Kubernetes和容器技术进行微服务编排和部署。 本文只讨论服务容器化,不涉及K8s和Jenkins相关内容。 问题概述 在服务容器化时,一些参数必须动态传入,以适应不同的部署环境。变化的参数包括: 部署环

  • 问题内容: 我使用以下行启动了node.js服务器来设置端口: 这意味着,它应该像本地运行时那样读取PORT env变量或默认为8080。它们都不在Heroku上发生,并且服务器始终使用默认端口80。如何更改该端口? 问题答案: 你不能 Heroku设置您应该绑定的PORT变量,并在tcp / 80上进行侦听。

  • 我在Eclipse中开发了一个API,它部署在ApacheTomcat服务器上,修改保存在服务器根文件夹中的XML文件。 ApacheTomcat安装在我的系统中的D驱动器中,因此我在API中对该路径进行了如下硬编码 此外,我还将服务器配置为使用端口8080,因此我还将URI路径硬编码到API中,如下所示 而且效果很好。 但现在我想在使用ApacheTomcat的不同系统上以WAR文件的形式部署相

  • 作为spring boot和microservices架构的新手,尝试使用spring boot cloud starter构建一个简单的应用程序。 我使用了来外部化配置文件(. Properties) 我这里有一个spring云配置,它带来了。来自git存储库和另一个微服务(产品微服务)的属性文件试图从spring云配置服务器访问其配置。 一切正常,除了属性抛出(在第二个微服务中) 以下是配置文

  • 服务端动态渲染网页是生成网页的最常用方法, 该方法同样适用于动态生成包含 Highcharts 图表的网页。 服务端动态渲染网页的做法:后端程序读取数据库数据并按照一定的业务逻辑处理成字符串,在页面对应位置上输出。 下面我们用 PHP 举例简单说明这个过程: 实例1: 只包含数值的 <?php // php 读取数据库并生成 字符串,这里这是简单的实例 // 读取数据 while ($