设置docker/fig mesos环境

j7dteeu8  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(384)

我想建立一个docker/fig mesos集群。我对fig和docker还不熟悉。docker有很多文档,但我发现自己很难理解如何使用fig。
这是我此刻的无花果:

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

谢谢!
编辑:
多亏了MarkO`connor的帮助,我创建了一个基于docker的mesos设置(storm,chronos,还有更多)。
尽情享受,如果你觉得这很有用,请贡献:https://github.com/yaronr/docker-mesos
附言:请+1马克的答案:)

xkftehaa

xkftehaa1#

您尚未指出所遇到的错误。
这是您正在使用的图像的文档:
https://registry.hub.docker.com/u/mesosphere/mesos/
Mesos基地码头使用Mesos包从https://mesosphere.io/downloads/. 不启动mesos,请使用mesos主程序和mesos从程序。
真正让我担心的是,这些图片是不可信的,没有来源是立即可用的。
因此,我以中间层github为灵感重新创建了您的示例:
https://github.com/mesosphere/docker-containers

更新的示例

示例更新为包含chronos框架

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

构建基本映像(只需执行一次)

./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

图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示例

生成.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 chronos/dockerfile公司

FROM mesos
MAINTAINER Mark O'Connor <mark@myspotontheweb.com>

RUN echo "zk://zookeeper:2181/mesos" > /etc/mesos/zk

EXPOSE 4400

CMD ["chronos"]

笔记:
“chronos”命令行是使用文件配置的。

相关问题