そろそろトレタでDockerを使っていきたいから勉強しようということで「トレタ社内勉強会 "Dockerの上でRailsアプリを動かす ハンズオン"」を開催しました。
オフィスで開催するのですが、社員以上に場所が広いので数人のゲストを募集して十数名で開催しました。
この勉強会の目的は「間違っててもなんとなくDockerを触って感覚を理解してもらう」に置いているので、色々飛ばしてあります。
事前資料はhttps://gist.github.com/masuidrive/14424a8cc4209a35541551c2ba7e911eに置いてあります。
流れとしては、
- Dockerの概論
- Dockerでシェル起動
- Railsの実行環境をDockerとDocker Composeで作る
- Amazon ECRにimageをpushする
- Amazon ECSにdeployする
となっています。
Docker Composeまではサクサク行けたのですが、ECS&ECRのところで詰まりました・・・。やっぱりハンズオンは苦手だ・・・。
特にECSにdeployするときに環境変数で DISABLE_SPRING=1
を定義してなくて、Springが悪さをしスクリーンの前で30分ぐらい悩みました。普通はProductionでwebrickとか使わないから問題にはならないんですけどね。
トレタはまだDockerを使っていないのですが、これから色々なサービスを展開する上で採用していきたいと思い勉強会を開催しました。
ハンズオンは3時間だったので、みんな本当に触れただけという感じですが、このまま検証などを進めDockerも採用していこうと考えています。
スタートアップを中心にDocker自体の採用は進んでいる印象を受けますが、やはり本番ではオーケストレーションの部分をどうするかが課題ですね。Amazon ECSはELBをうまく使うことでオーケストレーションを行うことができ、運用実績の多い既存の技術の上でDockerを使えるのが大きな魅力と感じています。
さて、次は何やろうかなー。Terraformか、LineとかFBのbot API比較か。告知は http://toreta.connpass.com で行うので興味のある方はJoinしてください。
トレタではAWSやDocker、その他クラウドサービスを使って信頼性と柔軟性の高いサービスを一緒に作ってくれるエンジニアを探しています。興味のある方は是非お話だけでも!