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

55
カカカカ Docker カカ カカ カカカカカ 2016.04.14

Upload: yukihiko-sawanobori

Post on 13-Jan-2017

876 views

Category:

Technology


0 download

TRANSCRIPT

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

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

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

注意•この資料は『 Mobingi x GitHub x はてな ハンズオン』でのハンズオンセッション用です。•pptx 変換で一部表示が変

•おトクなプロモコードの案内など、一部削除しています。

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

Company

Avatar

Since 2016.03 〜

App PlatformBuild

& Automation

WorksChef / OpsWorks etc…

@sawanobolyAbout me

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

ハンズオン概要•カスタムイメージ解説•phoenix フレームワーク(Elixir) のアプリケーションデプロイ

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

事前準備、リソース案内

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

ログイン OK ?

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

github repos※2 つ開いていただきます

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

このページを開いて

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

github repo x2

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

mocloud-phoenix(Docker)

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

phoenix-todo( アプリ )

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

事前準備は以上です•Dashboard login OK ?•Repos OK?• mocloud-phoenix• phoenix-todo

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

デプロイ前にすこし解説

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

Docker+Code

EC2 インスタンス (mocloud 管轄 )

•アプリケーション本体•固有処理など•言語ランタイム•F/W 共通処理など

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

mocloud 用 Docker イメージ※mocloud-phoenix の Dockerfile 等を参

照file:config コード配置などの設定。

file:container_status

起動完了などの指示。スクリプト内で都度書き込む

startup.log ダッシュボード用ログ。TCP/80(,443) これらが公開されます。

環境変数 mocloud からも渡せます。

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

アプリケーション追加タスク•事前処理 :mobingi-install.sh

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

ここからハンズオン

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

mocloudダッシュボードへどうぞ

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

[2 Steps]1. Create App

2. Deploy Code

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

Step: Create App•アプリケーション作成• Tokyo, Type 1 を選択• Docker レジストリからイメージ選択

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

左のメニューから作成

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

[ 東京リージョン ][ タイプ 1 サーバー ] を選択

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

イメージ設定sawanoboly/mocloud-

phoenix

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

作成!

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

Step: Deploy Code

•Code 登録• URL をコピーする• 貼り付ける

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

phenix-todo からURL をコピー

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

作成したアプリ画面へ

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

コード => Other Git Host

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

( 余談 )Phoenix について•Web アプリケーションフレームワークです。 Rails とかそれ系。•詳細は割愛。

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

次:ログで様子を確認

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

moDaemon(Agent) ログ

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

EC2 インスタンス内部の処理

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

Startup ログに切り替えます

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

Docker に仕込んだ F/W 処理等

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

デプロイ完了

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

アプリのURL は?

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

ここです

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

表示できましたか?

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

ハンズオンここまで

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

メトリクス※ 生デモ

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

監視タブ& Mackerel

※ 生デモ

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

応用編

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

コンテナにssh login する

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

設定から公開鍵を関連付け

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

ユーザ名 = 公開鍵の名前

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

コンテナ内で•タスクを実行する•コードの変更• アプリのリスタート (※)

※supervisor 経由等にして、コンテナが終了しないように

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

Github 連携と API

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

Github と接続する

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

要は push イベントをmobingi に通知しています

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

Deploy !

Pull Request

Test

Merge

CI と Hook の例

Kick!

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

API もあります

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

Deploy !

Pushed!

Test

CI から API

API Call

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

DB のスナップショットからアプリ作成

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

次回ハンズオン?

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

END