mocloud カスタムdockerイメージ ハンズオン
TRANSCRIPT
カスタム Dockerイメージハンズオン2016.04.14
注意•この資料は『 Mobingi x GitHub x はてな ハンズオン』でのハンズオンセッション用です。•pptx 変換で一部表示が変
•おトクなプロモコードの案内など、一部削除しています。
Company
Avatar
Since 2016.03 〜
App PlatformBuild
& Automation
WorksChef / OpsWorks etc…
@sawanobolyAbout 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