迄今为止,我使用Mesos,Marathon和Docker管理一组服务器以及我放置的容器,取得了巨大成功。然而,我现在想进一步开始做一些事情,比如自动将haproxy容器链接到启动的每个主要docker服务,或者提供其他基于守护进程和集装箱化服务,这些服务仅与单个父容器链接并且可用。使用Mesos/Marathon链接的Docker容器
通常情况下,我会先用一些名字启动帮助程序服务,然后当我开始真正的服务时,我会将它链接到帮助程序,一切都会好的。这个模型如何适合Marathon和Mesos?现在看来,至少集装箱化是假设一个集装箱。
我有一个想法,首先启动帮助器服务,在任何可以找到的主机上,然后向真实服务添加一个约束,即hostname = helper服务的主机名,但似乎会导致资源提供问题和这些资源的竞争条件。
我也曾想过为docker或启动docker容器的执行程序脚本提供“嵌入”或“深层链接”功能。
在我走下任何这些路径之前,我想知道是否有其他人解决了这个问题,或者如果我只是在思考问题。
谢谢!
所以对我来说很重要的一件事是容器的位置。我可以相对容易地找到其他容器的某种发现,但我正在寻找一种优化,超越了这种优化,迫使马拉松在每个容器中启动一组容器(认为nginx + rails + credentials守护进程)。显然我需要提交一个补丁,我应该看看Marathon而不是Docker吗? –
只是为了确保我理解正确 - 你的意思是“......这迫使马拉松在他们自己的主机中启动一组容器(...)”?即强制容器在不同的主机上? – jpetazzo
对不起,我希望组在单个主机上,例如附加到每个服务的本地haproxy。我认为这里的正确途径是一个自定义的mesos执行器,它知道如何从马拉松中获取额外的参数,分叉自己,并管理儿童,确保如果任何一件死亡,整个组都会重新启动。 –