【翻譯】使用Docker Compose一鍵安裝安裝Mesos
你絕對應該嘗試一下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...