超小型 PaaS 系統:Dokku

pcimt 11年前發布 | 19K 次閱讀 Dokku

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

項目主頁:http://www.baiduhome.net/lib/view/home/1371742310812

 本文由用戶 pcimt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!