从容器中获取动态分配的ip/端口

a11xaf1n  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(417)

我有一个应用程序,通过marathon部署多个类似的服务器(用docker容器封装),使用marathon自动分配“端口”功能。这是很好的,我需要在我的应用程序的方式。
问题是,我部署在marathon中的服务器(pywps服务器)使用的代码与现代分布式体系结构不太匹配。pywps请求在静态配置文件中定义客户端应用程序轮询的ip和端口。
当我的容器上有静态ip/端口时,很容易在容器启动时运行一个脚本(在容器内部),该脚本“sed”配置文件以从我在容器开始命令行中设置的envvar中放入正确的ip/端口值。
当使用不确定的动态ip/端口时,问题就出现了。当容器通过marathon部署时,是否有方法在容器中捕获这些信息,作为一种事件“container\u start”挂钩?

nom7f22z

nom7f22z1#

如果我理解正确的话,这个问题应该很容易解决,就像你描述的那样。
例如,如果您使用主机网络和随机端口运行应用程序(通过指定 "ports": [0] 例如),那么马拉松将设置 $HOST 以及 $PORT0 环境变量。你不需要手动设置类似的东西。
然后,让entrypoint脚本基于这两个环境变量操作配置,您应该有一个完全动态的ip/端口设置。

相关问题