Top Banner
カカカカ Docker カカ カカ カカカカカ 2016.04.14
55

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

Jan 13, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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