PaaS系统/容器Dawn PaaS、Apache Stratos、Peas、Docker Maven Plugin介绍
以下为你介绍的PaaS系统/容器都可用在Linux系统上:Dawn PaaS(基于 Docker 的 PaaS 系统)、Apache Stratos(PaaS 框架)、Peas(PaaS 平台)、Docker Maven Plugin(可以管理Docker容器maven插件)。
1、Dawn PaaS(基于 Docker 的 PaaS 系统)
Dawn 是一个基于 Docker 的 PaaS 系统,使用 Ruby 开发。实现了类 Heroku 的接口。该项目是在 2013年10月 开始的,原本计划是作为商业服务发布,但由于 PaaS 市场的竞争越来越激烈,因此决定开源。
当前开发的版本是基于 Ubuntu 14.04,运行了 docker, ruby 2.1.2 (rails 4.1.1), postgresql, redis, logplex 和 hipache.
将来的目标是将平台移植到 CoreOS 上,并将应用放置到不同的容器上,以便更加模块化,同时更加容易发布。
特性:
通过 Git 将应用发布到平台。
使用 Buildstep 构建应用容器。
可导入环境变量到应用空间。
可通过 HTTP POST 来获取应用日志。
per-proctype 实现伸缩。
要求:
支持 AMD64 虚拟机、Vagrant >= 1.6.2、Ansible >= 1.6.2。
下载地址:https://github.com/dawn/dawn
2、Apache Stratos(PaaS 框架)
Apache Stratos 是一个支持多语言的 PaaS 框架,提供一个云端的开发、测试和运行可伸缩应用程序的环境。提供高利用率、自动化资源管理和平台的监控以及收费管理。
Apache Stratos 可运行 Tomcat、PHP 和 MySQL 应用作为服务,带来自服务管理、弹性扩展、多租户的部署、使用监控等等。
该系统在 Apache 基金会中进行孵化。
下载地址:http://stratos.incubator.apache.org/
3、Peas(PaaS 平台)
Peas = PaaS for the People.
Peas 是一个 Heroku 风格的 PaaS 平台,使用 Ruby 开发,基于 Docker 平台。其灵感来自于 Deis 和 Dokku。
Peas 的理念是可轻松访问以及易于调整,它并非想作为完整的企业解决方案,而是一个相对要简单,但基于良好基础的系统,包括:Ruby;Rspec,Bundler,Guard,Rack,Puma,Grape,Sidekiq,GLI 等等。
路线图:
提供对 AWS 和 Digital Ocean 的支持。
用户,目前 Peas 还完全没有用户的概念。
节点或者是 pods 用来保存 pea 主题,可在多个服务器上分发容器。
应用配置变量,应用日志等等。
下载地址:https://github.com/tombh/peas
4、Docker Maven Plugin(可以管理Docker容器maven插件)
docker maven plugin 是个简单的可以管理Docker容器maven插件,这个插件将会根据你的配置,在构建时启动容器,构建结束时停止容器并删除,如果本地找不到镜像,Docker会自动去中央仓库下载。
先决条件:启用TCP套接字的本地运行docker:在/usr/lib/systemd/system/docker.service中的RHEL上:
ExecStart=/usr/bin/docker -d -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock
用法:起始目标将从图像创建容器实例并启动它,如果该图像在本地不可用,则插件将从互联网上提取该图像。
简单示例:
<plugin>
<groupId>com.ofbizian</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<images>
<image>
<name>busybox</name>
</image>
</images>
</configuration>
<executions>
<execution>
<id>start-docker</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
</plugin>
所有可能配置的完整示例:
<plugin>
<groupId>com.ofbizian</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<dockerUrl>http://localhost:4243</dockerUrl>
<images>
<image>
<name>dockerfile/redis</name>
<containerConfig>
<![CDATA[
{"Hostname":"",
"PortSpecs":null,
"User":"",
"Tty":false,
"OpenStdin":false,
"StdinOnce":false,
"Memory":0,
"MemorySwap":0,
"CpuShares":0,
"AttachStdin":false,
"AttachStdout":false,
"AttachStderr":false,
"Env":null,
"Cmd":null,
"Dns":null,
"Volumes":null,
"VolumesFrom":"",
"Entrypoint":[
],
"NetworkDisabled":false,
"Privileged":false,
"WorkingDir":"",
"Domainname":"",
"ExposedPorts":null,
"OnBuild":null}
]]>
</containerConfig>
<hostConfig>
<![CDATA[
{"ContainerIDFile": null, "LxcConf": null, "Links": null, "PortBindings": {
"6379/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "6379"
}
]
}, "Privileged": false, "PublishAllPorts": false}
]]>
</hostConfig>
</image>
<image>
<name>busybox</name>
</image>
</images>
</configuration>
<executions>
<execution>
<id>start-docker</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-docker</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
下载地址:https://github.com/bibryam/docker-maven-plugin
注明
以上就是PaaS系统/容器Dawn PaaS、Apache Stratos、Peas、Docker Maven Plugin的介绍内容,这些PaaS系统/容器都能使用在Linux操作系统中。