Dokku:搞一个你自己的'Heorku'
在上一篇博客《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!"}
有了这么好的工具,不玩玩儿不就可惜了吗?
- 07-30如何用u盘重装win10系统
- 07-30bios设置u盘启动
- 07-30技嘉主板bios如何设置u盘启动项
- 12-22开源视频平台:MediaCore(MediaDrop)
- 12-22JVMjavacore和heapdump文件生成选项
- 12-22使用飞信机器人发短信需要开放的端口
- 12-22TCP连接的三次握手--一次故障记录
- 12-22磁盘管理之一 逻辑卷管理
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复