设置一个docker / fig Mesos环境

我试图build立一个docker / fig Mesos集群。 我是新来的无花果和docker工人。 Docker有很多文档,但是我发现自己正在努力去理解如何使用无花果。

这是我目前的fig.yaml:

zookeeper: image: jplock/zookeeper ports: - "49181:2181" mesosMaster: image: mesosphere/mesos:0.19.1 ports: - "15050:5050" links: - zookeeper:zk command: mesos-master --zk=zk --work_dir=/var/log --quorum=1 mesosSlave: image: mesosphere/mesos:0.19.1 links: - zookeeper:zk command: mesos-slave --master=zk 

谢谢 !


编辑:

感谢Mark O`Connor的帮助,我创build了一个基于docker的工作模式(+ storm,chr​​onos等等)。

享受,如果你觉得这有用 – 请提供: https : //github.com/yaronr/docker-mesos

PS。 请+1 Mark的回答:)

你没有注明你遇到的错误。

这是您正在使用的图像的文档:

Mesos使用来自https://mesosphere.io/downloads/的Mesosphere包来pipe理Docker。 不启动Mesos,请使用mesos-master和mesos-slave Dockers。

真正担心这些图像的是,他们是不信任的,没有立即可用的来源。

所以我重新创build了使用中间层github作为灵感的示例:

更新示例

更新示例以包含chronos框架

 ├── build.sh ├── fig.yml ├── mesos │  └── Dockerfile ├── mesos-chronos │  └── Dockerfile ├── mesos-master │  └── Dockerfile └── mesos-slave └── Dockerfile 

build立基本的形象(只需要做一次)

 ./build.sh 

运行图开始每个服务的实例:

 $ fig up -d Creating mesos_zk_1... Creating mesos_master_1... Creating mesos_slave_1... Creating mesos_chronos_1... 

关于无花果的一个有用的事情是,你可以扩大奴隶

 $ fig scale slave=5 Starting mesos_slave_2... Starting mesos_slave_3... Starting mesos_slave_4... Starting mesos_slave_5... 

mesos主控台应该显示5个从站正在运行

 http://localhost:15050/#/slaves 

而chronos框架应该正在运行,并准备启动任务

 http://localhost:14400 

fig.yml

 zk: image: mesos command: /usr/share/zookeeper/bin/zkServer.sh start-foreground master: build: mesos-master ports: - "15050:5050" links: - "zk:zookeeper" slave: build: mesos-slave links: - "zk:zookeeper" chronos: build: mesos-chronos ports: - "14400:4400" links: - "zk:zookeeper" 

笔记:

  • 这个例子只需要一个zookeeper实例

build.sh

 docker build --rm=true --tag=mesos mesos 

mesos / Dockerfile

 FROM ubuntu:14.04 MAINTAINER Mark O'Connor <mark@myspotontheweb.com> RUN echo "deb http://repos.mesosphere.io/ubuntu/ trusty main" > /etc/apt/sources.list.d/mesosphere.list RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF RUN apt-get -y update RUN apt-get -y install mesos marathon chronos 

mesos主/ Dockerfile

 FROM mesos MAINTAINER Mark O'Connor <mark@myspotontheweb.com> EXPOSE 5050 CMD ["--zk=zk://zookeeper:2181/mesos", "--work_dir=/var/lib/mesos", "--quorum=1"] ENTRYPOINT ["mesos-master"] 

mesos从式/ Dockerfile

 FROM mesos MAINTAINER Mark O'Connor <mark@myspotontheweb.com> CMD ["--master=zk://zookeeper:2181/mesos"] ENTRYPOINT ["mesos-slave"] 

mesos-克罗诺斯/ Dockerfile

 FROM mesos MAINTAINER Mark O'Connor <mark@myspotontheweb.com> RUN echo "zk://zookeeper:2181/mesos" > /etc/mesos/zk EXPOSE 4400 CMD ["chronos"] 

笔记:

  • “chronos”命令行是使用文件configuration的。