【译】使用Docker Compose一条指令配置Mesos

原文作者:Sebastien Goasguen 原文地址:https://dzone.com/articles/1-command-to-mesos-with-docker-compose

原文

Setup Mesos with One Command Using Docker Compose

If you have not tried Docker, you should. The sheer power it puts in your hands and the simplicity of the user experience will just wow you. In this post, I will show you how to start a one node Mesos setup with Docker compose.

Docker announced compose on February 26th. Compose allows you to describe a multi-container setup and manage it with one binary docker-compose. The containers and volumes combinations managed by Compose are defined in a YAML file, super easy to read and super easy to write. The UX is very similar to the Docker CLI.

When compose was released, I tried it and was a bit underwhelmed, as it is basically a relooking of Fig. This is not unexpected as Docker Inc, acquired Orchard the makers of Fig. But I was expecting more added functionality and even a tighter integration with the Docker client (something a devbranch actually prototyped), even a common release instead of a separate binary. I am sure this will come.

As I am writing the docker cookbook, I have deployed Wordpress 20 different ways, and it’s getting a bit boring ! I was looking for more information on Mesos and its support for Docker, I re-read a terrific blog post that showed how to start a Mesos setup (zookeeper, master, slave, marathon framework) in 7 commands. Can’t beat that.

When I re-read this post, I automatically thought this was an exciting use case for docker-compose. One YAML file to start Mesos/Zookeeper/Marathon and experiment with it. Of course I am not talking about a production multi-node setup. I am just looking at it for an easy Mesos experiment.

I will spare you the details of installing compose (just a curl away). The dockers docs are great.

So here is the YAML file describing our Mesos setup:

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

Launch this with:

$ ./docker-compose up -d

Recreating vagrant_zookeeper_1...

Recreating vagrant_mesosmaster_1...

Recreating vagrant_marathon_1...

Recreating vagrant_mesosslave_1...

And open your browser at http://IP_HOST:5050 then follow the rest of the blog to start a task in marathon.

Bottom line, I went from ‘7 commands to Mesos’ to ‘1 command to Mesos’ thanks to Docker-compose and a fairly simple YAML file. Got to love it. When compose can do this across Docker hosts in a Docker Swarm started by Machine. Then the real fun will begin !

译文

使用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中添加一个任务。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

【分享吧】带你初识Docker

一、引言 如今,Docker作为业界领先的轻量级虚拟化容器管理引擎,给全球开发者提供了一种新颖、便捷的软件集成测试与部署之道。Docker借助容器技术彻底释放了...

2185
来自专栏云计算

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

如果你还没有使用过的Docker,你一定要试一试。纯粹的功能和质朴的用户体验将让你感到惊奇。在这篇文章中,我将告诉你如何通过Docker Compose来设置一...

2238
来自专栏我是攻城师

容器化网页应用

3466
来自专栏各种机器学习基础算法

关于Docker的一些常识

一、为什么使用Docker Docker一词意为码头工人,而Docker的功能也与集装箱类似。通常一个webapp并不会用到操作系统/虚拟机的全部功能,即操作...

3509
来自专栏数据和云

深入解析:ASM Normal Redundancy谁完成数据镜像IO?

张大朋(Lunar)Oracle 资深技术专家 Lunar 拥有超过十年的 ORACLE SUPPORT 从业经验,曾经服务于ORACLE ACS部门,现就职...

3096
来自专栏SDNLAB

OpenStack Zun组件详解

2755
来自专栏大魏分享(微信公众号:david-share)

世上最强版本Openshift之初体验

横向比较,Openshift在全球IT圈内,Forrester最新的报告认为从技术表现和市场表现看,Openshift 3.10是业内最好的容器云平台。

1972
来自专栏Laoqi's Linux运维专列

大白话Docker入门(一)

1433
来自专栏安恒信息

Docker 2375端口漏洞 全网安全风险报告

1. Docker简述 ? Docker图标 Docker是一个开源的应用容器引擎,基于LXC的高级容器引擎,源代码托管在Github 上,基于go语言并遵从...

38210
来自专栏python3

Docker是啥?

Docker的图标代表,它托着许多集装箱。我们可以把宿主机可当做这只鲸鱼,把相互隔离的容器可看成集装箱,每个集装箱中都包含自己的应用程序。

672

扫码关注云+社区