首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker容器如何在Mesos/Marathon设置中进行通信

docker容器如何在Mesos/Marathon设置中进行通信
EN

Stack Overflow用户
提问于 2015-09-01 02:14:36
回答 2查看 644关注 0票数 1

我已经为Apache Airavata创建了两个docker容器。假设它们是容器A和B。容器B依赖于容器A。启动容器A后,我必须将A的IP地址作为环境变量提供给容器B。现在,容器B的启动脚本将在容器B的配置文件中进行更改。在此更改之后,容器B可以与容器A进行通信。

当我在本地docker环境中进行设置时,我手动创建了容器,并在容器创建过程中传递了所需的值。

代码语言:javascript
运行
复制
docker run -i -d --name pga --env SERVER_HOST=172.17.1.84 --env SERVER_PORT=8930 -p 8787:80 -t pga:test

在Mesos/marathon环境中,可以在任何Mesos从属系统中创建docker。现在,我如何才能在容器之间进行通信呢?我推出了码头作业与马拉松框架。

EN

回答 2

Stack Overflow用户

发布于 2015-09-01 16:42:38

您描述的问题可以通过将服务发现机制(例如Mesos DNSMarathon Event Bus)与一些自定义工具(即您开发的脚本)结合使用来解决。基本上,您需要编写一个在容器B内部运行的脚本,并使用服务发现来找出容器A的IP地址,修改配置文件,并可能重新启动服务。

票数 1
EN

Stack Overflow用户

发布于 2015-09-01 18:12:03

我建议您尝试使用consul进行服务发现。此外,由于您使用Mesos/Marathon,因此尝试同样基于consul的Apollo可能会很有用。

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

https://stackoverflow.com/questions/32317382

复制
相关文章

相似问题

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