Dokku:搞一个你自己的'Heorku'

浏览:
字体:
发布时间:2013-12-13 14:31:19
来源:

在上一篇博客《Heroku:快速部署Dropwizard开发的RESTful Service》中,我们使用了Heroku这个PaaS进行快速部署。如果因为某些原因,你觉得把你的Service部署到Heroku这样的public PaaS不太靠谱,或者政策上不允许,你也完全可以动手自己做一个类似Heroku这样功能的PaaS平台。而且,很幸运,开源工具dokku,能够帮助你很快的搞定这些东西。

当你搭建好dokku Server以后,其使用就几乎和Heroku一样,当你使用git push的时候,dokku会使用buildpack检测你的应用,然后再部署,因为这样,dokku可以支持部署各种不同类型的app,java、ruby、nodejs都不在话下。在部署时,dokku和Heroku也是类似的使用LXC(LinuX Contianer)来运行你的Server,这样的方式使得起启动更快更轻。dokku使用了由dotcloud的著名开源LXC管理工具docker来运行你的应用。docker是一个好东西,如果我还不是太懒的话,以后会有博客来演示docker的使用。

这里搭建dokku server,使用的是Vagrant,没有用AWS演示。(其实是因为信用卡还没办下来,办下来了,我就把博客更新一下,用AWS进行部署)。

1.搭建dokku server

1)安装VirtualBox和Vagrant,此处省略200字。

2)创建一个文件夹:dokku-dropwizard-demo

3)初始化vagrant:$ vagrant init

修改Vagrantfile中的网络设置

config.vm.network :private_network, ip: "192.168.33.10"

这个原来是被注释掉的,取消注释就可以了。这样,你的主机就可以访问你用虚拟机启动的Dokku Server了。

4)安装虚拟机:$ vagrant up

5)进入虚拟机:$ vagrant ssh

6)安装dokku: $ wget -qO - https://raw.github.com/progrium/dokku/v0.2.0/bootstrap.sh | sudo DOKKU_TAG=v0.2.0 bash

5)配置ssh:$ cat ~/.ssh/id_rsa.pub | ssh vagrant@192.168.33.10 "sudo sshcommand acl-add dokku progrium"

vagrant默认的用户名和密码都是vagrant。所以,当提示你输入密码的时候,输入vagrant就行了。

2.部署Service到dokku server

我们使用《Heroku:快速部署Dropwizard开发的RESTful Service》中开发的Service进行部署

指定buildpack文件。在项目中加入.env文件:

export BUILDPACK_URL=https://github.com/kiwiwin/heroku-buildpack-gradle

使用git push部署到运行在Vagrant虚拟机中的dokku server:

$ git remote add dokku git dokku@192.168.33.10:dropwizard-demo

$ git push dokku master

这个阶段因为我们的buildpack是指定的gradle-1.9,需要下载,特别是当你在网速不给力的时候,第一次比较耗时,请保持耐心,稍安勿躁。

七七四十九天以后,看到类似下图以后,我们的应用就可以访问啦。

/

3.访问Service

$ curl http://192.168.33.10/hello?name=rocojie

返回

{"id":2,"content":"Hello, rococojie!"}

有了这么好的工具,不玩玩儿不就可惜了吗?

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();