Dokku 是一个微型的 Heroku,由 Docker 使用不多于 100 行的 Bash 编写。一旦安装完成,你就可以通过 Git 推送兼容 Heroku 的应用到平台上运行。该系统将使用 Heroku buildpacks 构建并在一个独立容器里运行,最终结果就相当于是一个单机版的 Heroku。
Dokku 不足 100 行的代码中包括如下几个组件:
Docker 是一个 Linux 下的容器运行环境,这是一个高级容器,提供 Heroku Dynos 类似技术,这也是 Dokku 的核心
Buildstep 使用 Heroku 的开源工具 buildpacks ,其职责是构建应用所需的基础映像,借助于 Heroku 的 stack 概念
Gitreceive 是一个项目,为你提供一个 git 用户并可推送应用到资料库,然后触发脚本来处理该推送动作。
还有一些其他的项目用来支持 Dokku 和扩展其功能,每个项目都是独立有用的。
发布应用的过程:
$ cd node-js-sample $ git remote add progrium git@progriumapp.com:node-js-app $ git push progrium master Counting objects: 296, done. Delta compression using up to 4 threads. Compressing objects: 100% (254/254), done. Writing objects: 100% (296/296), 193.59 KiB, done. Total 296 (delta 25), reused 276 (delta 13) remote: -----> Building node-js-app ... remote: Node.js app detected remote: -----> Resolving engine versions ... blah blah blah ... remote: -----> Application deployed: remote: http://node-js-app.progriumapp.com
目前提供的插件:
Datastores:
MongoDB (single container): https://github.com/jeffutter/dokku-mongodb-plugin
PostgreSQL : https://github.com/Kloadut/dokku-pg-plugin
PostgreSQL (single container): https://github.com/jeffutter/dokku-postgresql-plugin
RiakCS (single container): https://github.com/jeffutter/dokku-riakcs-plugin
Process Managers:
Shoreman : https://github.com/statianzo/dokku-shoreman
Supervisord: https://github.com/statianzo/dokku-supervisord
Other:
user-env-compile (similar to the heroku labs feature) https://github.com/musicglue/dokku-user-env-compile
Chef cookbooks: https://github.com/fgrehm/chef-dokku
我们建议阅读Dokku文档的设置和使用Dokku部署Node.js应用程序 例如,我们将调用我们的Nuxt.js应用程序my-nuxt-app。 我们需要告诉Dokku安装项目的devDependencies(能够启动npm run build): // on Dokku Server dokku config:set my-nuxt-app NPM_CONFIG_PRODUCTION=false
平台即服务(Platform-As-A-Service,PaaS)已经成为业界探讨云计算的热点之一,采用 PaaS 模式构建应用运行平台是实现平台服务的重要实践。 云计算(Cloud Computing)是当前 IT 领域的热点,它的目标之一是通过互联网,使用户更加方便、快捷、灵活地使用各种有质量保障的 IT 资源,这些资源以服务形式提供,终极的云计算环境将使得消费这些服务就像今天使用水、电和煤气
蓝鲸智云 PaaS 平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用,蓝鲸智云体系平台之一。 本次开源的是蓝鲸智云 PaaS 平台社区版(BlueKing PaaS Community Edition),它提供了应用引擎、前后台开发框架、API 网关、调度引擎、统一登录、公共组件等模块,帮助用户快速、低成本、免运维地构建支撑工具和运营系统(统称为 SaaS
Dawn 是一个基于 Docker 的 PaaS 系统,使用 Ruby 开发。实现了类 Heroku 的接口。该项目是在 2013年10月 开始的,原本计划是作为商业服务发布,但由于 PaaS 市场的竞争越来越激烈,因此决定开源。 当前开发的版本是基于 Ubuntu 14.04,运行了 docker, ruby 2.1.2 (rails 4.1.1), postgresql, redis, log
Bsin-PaaS(毕昇) 是一套企业级的低代码、零代码去中心化应用搭建平台,可帮助企业快速搭建基于云原生的有竞争力的业务中台、流程中台、业务前台。bsin-paas包括微前端设计、微服务框架、服务编排、工作流引擎、安全网关及区块链引擎。该方案由区块链(公链、联盟链)作为技术支撑,为企业提供daPaaS层的一站式解决方案,助力企业打造数字经济底层技术架构,构建一套开放式和生态化的技术体系。作为一个
PaaS@OSC 是开源中国推出的基于 Git@OSC 的项目演示平台。你可以一键将你的项目部署到演示平台上进行访问。 支持的语言: Java: 支持JavaWeb(示例)、Spring(示例)、Play(示例) Ruby:Rails(示例)、Sinatra(示例)、Rack(示例) NodeJS:支持Express.js等框架(示例) PHP:(示例) Python:wsgi(示例) Groov