about 7 years ago

Docker上出現了一個好用的套件,叫做Dokku
利用這個套件可以在任何IaaS的平台上建立類似Heroku的PaaS服務
看來Heroku的末日快到了

在比較過AWS、Linode、和DigitalOcean的IaaS平台的價格之後
發現DigitalOcean的價格是最實惠的($5/month),所以我們就從DigitalOcean開始吧
用以下連結註冊可以拿到$10的儲值金,等於免費試用2個月
https://www.digitalocean.com/?refcode=810a7d07e0c2

註冊DigitalOcean的帳號

屌絲們選擇最便宜的方案就對了。剩下的伺服器位置和額外功能就看自己的需求吧

創建Dokku

而來選擇Applications下的Dokku。最後填入ssh keys
沒有的話,用

ssh-keygen -t rsa

產生一組keys,把id_rsa.pub的內容複製上去就行了。
按下Create,等伺服器開完機就可以使用了

升級Dokku的版本

用ssh登入伺服器

ssh root@your_droplet_ip_address

更新Dokku的版本

cd ~/dokku
git pull origin master
make install

更新Buildstep的版本,這東東是Docker版的Heroku Buildpacks

docker pull progrium/buildstep:latest

加入dokku要使用的public key

先用瀏覽器打開伺服器的網頁

open http://your_ip_address

會出現Droplet的設定頁面。貼上dokku的public key,按下Finish就行了

創建App

找到要上傳的git project
把dokku加入remote repository裡面

git remote add dokku dokku@your_droplet_ip_address:app_name

如果之前沒進去Droplet的設定頁面按Finish的話,這裡git會要求輸入密碼(但是我們是ssh keys登入,根本沒密碼呀)
接下來把程式碼push到dokku

git push dokku master

push完畢之後,再次登入

ssh root@your_droplet_ip_address

用ps查詢app的port

docker ps

會出現

CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES
d96737fbaaa3 dokku/hello:latest "/start web" Up 3 minutes 0.0.0.0:32768->5000/tcp angry_wozniak

上面的32768就是app對應的external port (5000是internal port)
用瀏覽器打開app的網頁

open http://your_ip_address:32768

如果沒問題,就可以看到app的404頁面了(咦?)

← 在CocoaPods中使用私有的程式碼 YouCompleteMe for iOS 折騰筆記 →
 
comments powered by Disqus