设置docker/fig Mesos环境

 郑小蒜9299_941611_G 发布于 2022-12-29 08:52

我正在尝试建立一个docker/fig Mesos集群.我是无花果和Docker的新手.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的工作台设置(+风暴,chronos等等).

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

PS.请+1马克的答案:)

1 个回答
  • 您尚未指出您遇到的错误.

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

    https://registry.hub.docker.com/u/mesosphere/mesos/

    Mesos基础Docker使用来自https://mesosphere.io/downloads/的Mesosphere软件包 .不启动Mesos,请使用mesos-master和mesos-slave Dockers.

    我真正担心的是这些图像是不受信任的,没有立即可用的来源.

    所以我使用mesosphere 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以启动每个服务的实例:

    $ 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"命令行使用文件配置.

    2022-12-29 08:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有