如何在一个mesos从属节点上运行多个docker容器?

时间:2015-04-09 13:34:58

标签: docker mesos marathon

我有3个mesos主节点和87个mesos从节点。所有节点的操作系统都是Ubuntu 14.04。在每个mesos从节点上,我已经安装了docker。我有两个不同的爬虫,每个爬虫都构建成一个docker容器。现在我通过马拉松比赛发射它们。

在mesos slave节点上,我没有找到在同一节点上运行的两个爬虫容器。每个节点只运行一个爬虫。

但我希望每个节点同时运行两个爬虫容器。我该怎么做? (原谅我可怜的英语语法)。

以下代码是marathon launch json。

    {
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "slyang/final_crawlerv19"
    }
  },
  "id": "crawler-part",
  "instances": "30",
  "cpus": "0.5",
  "mem": "150",
  "uris": [],
  "constraints": [["hostname", "UNIQUE"]],
  "cmd": "ip=`wget http://ip.lustfield.net/ -O - -q`;echo $ip; sleep 20; echo $ip > /app/hostip;python user_info_fetcher.py part"
}

1 个答案:

答案 0 :(得分:4)

目前,您必须将两个容器打包成一个图像,以便Marathon在同一节点上一起启动它们。否则,你要求一个Kubernetes" pod" -like构造,这在Marathon中还不存在。见https://github.com/mesosphere/marathon/issues/894

当您想要在容器之间共享卷或其他资源时,会出现额外的棘手问题。