SlideShare a Scribd company logo
カスタムDocker
イメージ
ハンズオン
2016.04.14
注意
•この資料は『Mobingi x GitHub x はてな ハン
ズオン』でのハンズオンセッション用です。
•pptx変換で一部表示が変
•おトクなプロモコードの案内など、一部削除
しています。
Company
Avatar
Since 2016.03〜
App Platform
Build
& Automation
Works
Chef / OpsWorks etc…
@sawanoboly
About me
ハンズオン概要
•カスタムイメージ解説
•phoenixフレームワーク
(Elixir)のアプリケーション
デプロイ
事前準備、
リソース案内
ログインOK?
github repos
※2つ開いて
いただきます
このページを開いて
github repo x2
mocloud-phoenix(Docker)
phoenix-todo(アプリ)
事前準備は以上です
•Dashboard login OK ?
•Repos OK?
•mocloud-phoenix
•phoenix-todo
デプロイ前に
すこし解説
Docker+Code
EC2インスタンス(mocloud管轄)
•アプリケーション本体
•固有処理など
•言語ランタイム
•F/W 共通処理など
mocloud用Dockerイメージ
※mocloud-phoenixのDockerfile等を参照
file:config コード配置などの設定。
file:container_status
起動完了などの指示。スク
リプト内で都度書き込む
startup.log ダッシュボード用ログ。
TCP/80(,443) これらが公開されます。
環境変数 mocloudからも渡せます。
アプリケーション追加タスク
•事前処理:mobingi-install.sh
ここから
ハンズオン
mocloud
ダッシュボードへどうぞ
[2 Steps]
1. Create App
2. Deploy Code
Step: Create App
•アプリケーション作成
•Tokyo, Type 1を選択
•Dockerレジストリから
イメージ選択
左のメニューから作成
[東京リージョン]
[タイプ1サーバー]を選択
イメージ設定
sawanoboly/mocloud-phoenix
作成!
Step: Deploy Code
•Code登録
•URLをコピーする
•貼り付ける
phenix-todoから
URLをコピー
作成したアプリ画面へ
コード=> Other Git Host
(余談)Phoenixについて
•Webアプリケーションフレーム
ワークです。Railsとかそれ系。
•詳細は割愛。
次:ログで
様子を確認
moDaemon(Agent)ログ
EC2インスタンス内部の処理
Startupログに切り替えます
Dockerに仕込んだF/W処理等
デプロイ完了
アプリの
URLは?
ここです
表示できましたか?
ハンズオン
ここまで
メトリクス
※生デモ
監視タブ
& Mackerel
※生デモ
応用編
コンテナに
ssh loginする
設定から公開鍵を関連付け
ユーザ名=公開鍵の名前
コンテナ内で
•タスクを実行する
•コードの変更
•アプリのリスタート(※)
※supervisor経由等にして、コン
テナが終了しないように
Github連携
とAPI
Githubと接続する
要はpushイベントを
mobingiに通知しています
Deploy !
Pull Request
Test
Merge
CIとHookの例
Kick!
APIもあります
Deploy !
Pushed!
Test
CIからAPI
API Call
DBの
スナップショット
からアプリ作成
次回ハンズオン?
END

More Related Content

mocloud カスタムDockerイメージ ハンズオン

Editor's Notes

  • #2: To me > - μblockを切っておけ。 - Githubを開いておけ。 - マカレルを開いておけ。
  • #7: ログイン完了を待とう。 『ブラウザのタブをキープしておいてください』
  • #9: 全員が開いたことを確認してから次。 DoorKeeper 『Mobingi x はてな などで検索』
  • #11: 『ブラウザのタブをキープしておいてください』
  • #12: 『ブラウザのタブをキープしておいてください』
  • #15: 『吉田さんが解説済だと思いますが〜』 Dockerイメージに少しコツがいります。
  • #16: 『詳しくはドキュメントがあるので、そちらを参照』
  • #18: 待ってくれという人がいないか確認する。
  • #19: 待ってくれという人がいないか確認する。
  • #25: 『作成後、気持ち早めにコードの登録します。』
  • #28: ここで、失敗になってる人いませんか?
  • #30: (空気次第で)『Elixir知ってる人〜』
  • #31: ここからは吉田さんのぶんと同様です
  • #32: 実際自動なので、やることないです。
  • #36: デプロイ完了していない人を待とう。
  • #40: 続いて、他の機能や応用編をサラッと紹介します。
  • #41: ブラウザで、自分の既存アプリを開いてあげる
  • #43: 時間調整、カット可。ざっくり説明。
  • #48: ちょっと発展した版です。
  • #49: ここは吉田さんが説明してくれた通りです。