​使用Docker Compose一条指令设置Mesos

如果你还没有使用过的Docker,你一定要试一试。纯粹的功能和质朴的用户体验将让你感到惊奇。在这篇文章中,我将告诉你如何通过Docker Compose来设置一个单节点的Mesos。(译者注:Mesos集群官网)

Docker在2月26日发布了Compose(译者注:Docker-Compose官方文档)。Compose允许你使用一个Docker-Compose实现多容器安装和管理。使用Compose管理的容器会通过一个YAML文件来进行定义,十分容易阅读和编写,其用户体验和Docker CLI非常相似。

Compose刚发布时,我试着使用了一下,有点让人失望,因为它基本上是一个翻版的Fig。对于Docker公司来说这并不意外,为了夺取Orchard旗下Fig的市场。但我期待更多的附加功能,乃至更紧密集成的Docker的客户端(一些dev 分支实际上提供了原型),即使只是一个普通的发行版而不是一个单独的程序。我相信这一切都会实现。

当我写 《docker cookbook》 时,我已经试着使用20种不同的方式部署WordPress,不得不承认这确实有点无聊! 我开始寻找更多的关于Mesos的信息,然后我发现Docker已经实现了对其的支持,我重读了一篇很棒的博客,展示关于如何通过七条指令来实现一个Mesos的安装(zookeeper, master, slave, marathon framework)【译者注:原文链接翻译参考】。我认输!

当我重新阅读这篇文章是,我下意识地认为这是Docker-Compose一个令人激动的用例。使用一个YAML文件来启动Mesos/Zookeeper/Marathon并进行实验。当然,我不是在介绍一个多节点的设置。仅仅只是简单的进行一个Mesos的实验。

我会略过compose安装的细节,Docker文档已经足够完美了。

下面就是YAML文件的所描述的Mesos设置:

zookeeper:

  image: garland/zookeeper

  ports:

   - "2181:2181"

   - "2888:2888"

   - "3888:3888"

mesosmaster:

  image: garland/mesosphere-docker-mesos-master

  ports:

   - "5050:5050"

  links:

   - zookeeper:zk

  environment:

   - MESOS_ZK=zk://zk:2181/mesos

   - MESOS_LOG_DIR=/var/log/mesos

   - MESOS_QUORUM=1

   - MESOS_REGISTRY=in_memory

   - MESOS_WORK_DIR=/var/lib/mesos

marathon:

  image: garland/mesosphere-docker-marathon

  links:

   - zookeeper:zk

   - mesosmaster:master

  command: --master zk://zk:2181/mesos --zk zk://zk:2181/marathon

  ports:

   - "8080:8080"

mesosslave:

  image: garland/mesosphere-docker-mesos-master:latest

  ports:

   - "5051:5051"

  links:

   - zookeeper:zk

   - mesosmaster:master

  entrypoint: mesos-slave

  environment:

   - MESOS_HOSTNAME=192.168.33.10

   - MESOS_MASTER=zk://zk:2181/mesos

   - MESOS_LOG_DIR=/var/log/mesos

   - MESOS_LOGGING_LEVEL=INFO

使用如下指令启动:

$ ./docker-compose up -d

Recreating vagrant_zookeeper_1...

Recreating vagrant_mesosmaster_1...

Recreating vagrant_marathon_1...

Recreating vagrant_mesosslave_1...

打开你的浏览器,输入 http://IP_HOST:5050 然后按照博客内容剩下的内容在marathon中添加一个任务。

mesos

最后,我将'7条指令设置Mesos'变成了'1条指令设置Mesos',这都归功于Docker-compose和简便的YAML文档。试着喜欢上这种用法。当Compose能通过Docker实现Docker Swarm的机器启动,那么真正有趣的部分就开始了。

本文的版权归 李郑 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

解决Redis 延迟故障

症状 前一段时间redis客户端在使用php connect 连接redis 的经常报一个redis server went away 等信息。 排查 首先想到...

2758
来自专栏数据和云

月之初 数之慎

上周日,也就是9月1日,收到了一则用户的故障请求,系统中一个存储过程出错,紧急安排工程师响应处理,解决了故障。 我们经历过很多类似的故障,在月初、月尾、年初、年...

3179
来自专栏人人都是极客

激光雷达避障小车的制作

作为主控芯片的实时系统,提供多线程编程.小车的每个重要的需要实时的功能都单独作为一个线程.如小车的mpu9250姿态解算出姿态角(Roll、Pitch、Yaw ...

1002
来自专栏web前端教室

搞前端必知必会--HTTP是个啥?

先说结论,HTTP是个啥?以我不多的了解来讲,它就是个协议,反正上网都用它。那为毛要了解? 第一,你得明白TCP/IP什么的,三次握手什么的, 第二,你上网调试...

18510
来自专栏杨建荣的学习笔记

今天碰到的几个问题20151023(r6笔记第97天)

每天工作中会碰到一些问题,圈内朋友也会有各种问题,解决问题总是能够带来很大的成就感,有时候感觉在做两份工作。:) 帮助别人的意义就在于别人碰到的坑,你可能也会碰...

2744
来自专栏杨建荣的学习笔记

关于switchover的流程和补充(r9笔记第4天)

对于Oracle Data Guard中的Switchover一般是计划内的操作,自己其实也处理了不少的故障,也算是轻门熟路。复杂的事情简单做,简单的事情重复做...

2485
来自专栏前端说吧

vue项目实战 — — 那些自己给自己挖的深坑

1043
来自专栏通信

SIP协议笔记

SIP(SessionInitiationProtocol,会话发起协议)是由IETF提出的IP电话信令协议.它的主要目的是为了解决IP网中的信令控制,以及同软...

910
来自专栏杨建荣的学习笔记

服务器迁移的两种方式浅谈(r9笔记第15天)

最近在处理服务器机房迁移的事宜,很多事情其实看起来简单,但是实现的时候总会有一些不如意的地方,很可能你考虑的是一个看起来非常稳定完美的迁移,但是 实现中总会有这...

3226
来自专栏北京马哥教育

服务器程序源代码分析之二:php-fpm

php作为排名top2 互联网开发工具,非常流行,可以参考:中国最大的25个网站采用技术选型方案 php这个名称实际上有两层含义 广义的php 是指用后缀名为....

2734

扫码关注云+社区