12

docker/fig Mesos クラスターをセットアップしようとしています。私はイチジクとドッカーが初めてです。Docker にはたくさんのドキュメントがありますが、私は fig の操作方法を理解するのに苦労しています。

現時点での私の 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 の助けのおかげで、動作する docker ベースの mesos セットアップを作成しました (+ ストーム、クロノス、および今後追加予定)。

お楽しみください。これが役立つと思われる場合は、 https ://github.com/yaronr/docker-mesos に貢献してください。

PS。マークの答えを+1してください:)

4

1 に答える 1

29

発生したエラーを指摘していません。

これは、使用しているイメージのドキュメントです。

https://mesosphere.io/downloads/の Mesosphere パッケージを使用する Mesos ベースの Docker 。Mesos は起動しません。mesos-master および mesos-slave Docker を使用してください。

これらの画像について私が本当に心配していたのは、それらが信頼されておらず、すぐに入手できる情報源がなかったことです。

だから私はインスピレーションとして mesosphere github を使ってあなたの例を再作成しました:

更新された例

chronos フレームワークを含めるように更新された例

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

基本イメージをビルドします (1 回だけ実行する必要があります)。

./build.sh

fig を実行して、各サービスのインスタンスを開始します。

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

fig の便利な点の 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

クロノス フレームワークが実行され、タスクを起動する準備ができている必要があります。

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 のインスタンスは 1 つだけです

build.sh

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

mesos/ドッカーファイル

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-master/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」コマンド ラインは、ファイルを使用して構成されます。
于 2014-08-09T11:42:54.937 に答える