Rabbit Slide Show

dokku を本番環境で使ってみた話

2015-06-20

Description

dokku を本番環境で使ってみて、はまった点などの話です。

Text

Page: 1

dokku を本番環
境で使ってみた話
Kazuhiro NISHIYAMA
第7回 コンテナ型仮想化の情報交換会@大阪
2015/06/20

Page: 2

自⼰紹介
twitter や github では @znz

Page: 3

Ruby 関連
Ruby (CRuby) のコミッター
Ruby 関係でいろいろ
るびま (Rubyist Magazine) とか
http://magazine.rubyist.net/
るりま (Ruby リファレンスマニュア
ル) とか
http://docs.ruby-lang.org/ja/
Ruby 関連のイベントでの発表

Page: 4

その他
Debian 関係
関⻄ Debian 勉強会や大統⼀ Debian 
勉強会での発表
各種勉強会
この勉強会などでの発表

Page: 5

dokku とは?
docker による mini Heroku ク
ローン
git で deploy
単独サーバーで実⾏
スケーラビリティはない (スケールア
ウトできない)

Page: 6

dokku の歴史 (知っている
範囲で)
0.2.x で開発が停滞していた
dokku-alt という fork ができた
開発がまた活発になっていた
Deis というスポンサーがついていた

Page: 7

使い⽅
クリーンな Ubuntu 14.04 x64 
でインストール
heroku のようにコマンド操作
dokku コマンドで操作
リモートから ssh で操作
ssh 経由の git で deploy

Page: 8

使ってみた感想
安定して動いているときは安定
している
細かい不満はいくつかある
デフォルトのタイムアウトが短い
ログが悩ましい
プラグインの対応バージョンがわかり
にくい

Page: 9

タイムアウトを伸ばす
/home/dokku/ENVで増やす
CURL̲CONNECT̲TIMEOUT
CURL̲TIMEOUT

Page: 10

永続的ストレージ
docker-options プラグイン (標
準添付) を利用
ログをホスト側に記録
dokku docker-options:add demo-app 
deploy,run "-v /srv/demo-app/log:/app/
log"
ファイルアップロード
dokku docker-options:add demo-app 
deploy,run "-v /srv/demo-app/uploads:/
app/uploads"

Page: 11

プラグイン
ドキュメントに⼀覧がある
http://progrium.viewdocs.io/
dokku/plugins
古いバージョンとの互換は今で
も使えるのかが不明
標準に取り込まれた機能もある 
(末尾に⼀覧)

Page: 12

PostgreSQL プラグイン
Compatible with 0.3.16 のもの
を使ってみた
https://github.com/Flink/dokku-
psql-single-container
dokku の deb 更新時に問題あ
り
https://github.com/Flink/dokku-
psql-single-container/issues/5

Page: 13

sshcommand 書き換え
PostgreSQL プラグインのため 
chown のところを書き換えた
chown -R dokku /home/dokku 相
当
chown 999 -R /home/dokku/.psql-
sc/data が必要
chown -R /home/dokku/.ssh /
home/dokku/* 相当に変更

Page: 14

deb パッケージ
0.3.17 から deb パッケージイ
ンストールが標準になった

Page: 15

memcached
プラグインは使わず、ホスト側
にインストール
ufw で制限した上で lo 以外も 
listen するように変更
docker 用の interface は起動
のタイミングで存在しなかった

Page: 16

環境変数
タブを含む環境変数はうまく設
定できなかった
heroku ではできた
LTSV が設定したかった
結局「,」区切りにした

Page: 17

dokku run
cron で2個同時に動かすとエラ
ーになることがあった
1分ずらした
標準⼊⼒をリダイレクトで受け
取れなかった
.forward でメール処理ができなかっ
た

Page: 18

まとめ
dokku は用途によっては使える
ソースまで読む気がないと使い
こなすのは難しい
heroku はやっぱりすごい

Other slides