我有2个docker容器 - 一个运行监控应用程序,另一个运行服务,两者都在net = host的同一网络命名空间中运行。 (Mesos使用此参数运行所有作业。)
该服务可以绑定到随机端口。 如何从监视容器中查询服务绑定到哪个端口?
我试过读/ proc / net / tcp,但这看起来非常复杂。有没有更简单的方法呢?
答案 0 :(得分:1)
所以,如果我理解正确,该服务绑定到随机端口?如果是这样,为什么会这样呢?我想这远非理想,我在容器中使用bin时将bin用于特定端口。
例如,如果您有一个应用程序(通过Marathon启动)绑定到通过环境变量定义的端口,您可以在启动容器时设置此环境变量,并使用BRIDGED
网络模式让Mesos从其端口范围中选择一个端口。
如果安装Mesos DNS,则可以使用它来确定应用程序名称中的IP /端口组合。例如。如果Marathon应用程序名称为 testapp ,则服务名称为testapp.marathon.mesos
。
见
答案 1 :(得分:-2)
使用link
:
docker run --name myService service
docker run --link myService monitoring
您可以在此处找到更多信息https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/