你绝对应该尝试一下Docker。它高效和简单的用户体验会令你惊叹。在这篇文章中,我将向你展示如何使用Docker compose构建一个单节点的Mesos。
Docker在2月26日发布了compose。Compose可以让你实现多环境下安装Mesos,并用一个二进制的docker-compose来管理。Compose的环境配置是定义在一个YAML文件中的,超级容易阅读且超级容易编写。UX与Docker CLI非常相似。
compose发布后,我尝试了一下,却感到有点失望,因为它基本上是Fig的复刻版。这并不意外,因为Docker公司收购了Fig的制造者Orchard公司。但是我仍然期待更多的附加功能,哪怕是高集成的Docker客户端(一个devbranch的原型),或是一个普通的发布版,而不是一个独立的二进制文件。我相信这一天一定会到来。
在写Docker Cookbook的时候,我已经用20种不同的方式部署过Wordpress ,而且开始觉得有点无聊!我那时正在Mesos上查找更多的相关资料,以及有关Mesos对Docker的支持的内容,我重新阅读了一篇超棒的博客,展示了如何用7个命令启动一个Mesos部署(zookeeper,master,slave,marathon框架),惊为天人。
当我重新阅读这篇博客,我觉得这是一个经典的Docker-compose用例。只用一个YAML文件启动Mesos / Zookeeper / Marathon并尝试安装。当然,我不是在谈论一个多节点的Mesos安装产品。我只是在寻找一个简单的Mesos实验。
我会免去安装composer的细节(用crul而已)。Docker 的文档够棒了。
这里是描述我们的Mesos的YAML文件:
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...
翻译人:Coder9527,该成员来自云+社区翻译社
原文链接:https://dzone.com/articles/1-command-to-mesos-with-docker-compose
原文作者:Sebastien Goasguen