Dokku是一个微型的Heroku,由Docker使用不多于100行的Bash编写。一旦安装完成,你就可以通过Git推送兼容Heroku的应用到平台上运行。该系统将使用Herokubuildpacks构建并在一个独立容器里运行,最终结果就相当于是一个单机版的Heroku。
Dokku不足100行的代码中包括如下几个组件:
Docker是一个Liux下的容器运行环境,这是一个高级容器,提供HerokuDyos类似技术,这也是Dokku的核心
Buildstep使用Heroku的开源工具buildpacks,其职责是构建应用所需的基础映像,借助于Heroku的stack概念
Gitreceive是一个项目,为你提供一个git用户并可推送应用到资料库,然后触发脚本来处理该推送动作。
还有一些其他的项目用来支持Dokku和扩展其功能,每个项目都是独立有用的。
发布应用的过程:
$ cd ode-js-sample$ git remote add progrium git@progriumapp.com:ode-js-app$ git push progrium masterCoutig objects: 296, doe.Delta compressio usig up to 4 threads.Compressig objects: 100% (254/254), doe.Writig objects: 100% (296/296), 193.59 KiB, doe.Total 296 (delta 25), reused 276 (delta 13)remote: -----> Buildig ode-js-app ...remote: Node.js app detectedremote: -----> Resolvig egie versios... blah blah blah ...remote: -----> Applicatio deployed:remote: https://ode-js-app.progriumapp.com目前提供的插件:
Datastores:
MariaDB:https://github.com/Kloadut/dokku-md-plugi
MogoDB(siglecotaier):https://github.com/jeffutter/dokku-mogodb-plugi
PostgreSQL:https://github.com/Kloadut/dokku-pg-plugi
PostgreSQL(siglecotaier):https://github.com/jeffutter/dokku-postgresql-plugi
Redis:https://github.com/luxifer/dokku-redis-plugi
RiakCS(siglecotaier):https://github.com/jeffutter/dokku-riakcs-plugi
ProcessMaagers:
Circus:https://github.com/apmorto/dokku-circus
Shorema:https://github.com/statiazo/dokku-shorema
Supervisord:https://github.com/statiazo/dokku-supervisord
Other:
Node:https://github.com/pegahdar/dokku-ode
user-ev-compile(similartotheherokulabsfeature)https://github.com/musicglue/dokku-user-ev-compile
Chefcookbooks:https://github.com/fgrehm/chef-dokku










评论