2

我最近在 CentOS 7 上升级到 Mesos mesos-0.25.0-0.2.70。为了设置 Mesos 的 DOCKER_HOST 环境变量,我之前使用文件“/etc/mesos-slave/executor_environment_variables”对其进行了配置,即其中内容如下:

{"DOCKER_HOST": "localhost:12375"}

随着 Mesos 的升级和更新的 Weave 版本,这已经停止工作。最新版本的 Weave 在默认为 TCP 套接字之前侦听 Unix 套接字,因此我现在将上述文件的内容更改为:

{"DOCKER_HOST": "unix:///var/run/weave/weave.sock"}

然而,当我通过 Marathon 创建 Docker 容器时,它会在没有任何 Weave IP 或 DNS 的情况下构建在 Mesos 集群中。我很困惑——Mesos 需要做的就是获取环境变量 DOCKER_HOST,而这并没有发生。

如果有人能指点我的方式,我会很高兴。

4

1 回答 1

0

这是一个老问题,但万一有人偶然发现这个问题。我遇到了类似的问题,即由 Mesos(通过 Marathon)启动的容器没有向 WeaveDNS 注册。为了让它工作,在启动 mesos 代理时,我使用了标志“--docker_socket”并将其设置为等于运行命令“weave env”时输出的“DOCKER_HOST”路径。

此后,我的容器开始向 WeaveDNS 注册。

于 2017-11-01T21:21:24.067 回答