(C)Copyright 1996-2014 SAKURA Internet Inc. ささささささささささ ささささささささささささささ ~ Docker さささささささ~ さささ 第 17 第 第第第第第第 in 第第 第第第第 (@kunihirotanaka)
(C)Copyright 1996-2014 SAKURA Internet Inc.
さくらのクラウドでのウェブサービスかんたん運用術~ Docker をつかってみた~
福岡編
第 17 回 さくらの夕べ in 福岡田中邦裕 (@kunihirotanaka)
2
目次
2
1 自己紹介
「さくらのクラウド」のご紹介
Docker をつかってみた
1
2
3
3
• 名前 :田中邦裕(たなかくにひろ)• 年齢 : 36 歳• 出身 :大阪(今も一応、大阪在住) • 趣味
• プログラミング–計算機科学方面ではなく、何かを動かすのが好き
• 電子工作–ラジオから AVR( マイコン ) まで
• DTM– SC-55 を皮切りにパソ通などにアップしていた
• 旅行&鉄道–北海道から沖縄まで国内専門、あと乗り鉄
• アニメ–人並み程度に視聴
自己紹介
@kunihirotanakahttp://facebook.com/kunihirotanaka
4
日曜プログラミングしています
• さくらのクラウドも最初は個人で作ってました• 昔は Apache ドキュメント翻訳やってました• いわゆるジェネレーター系サイトやってます
5
日曜プログラミングしています
6
日曜プログラミングしています
7
日曜プログラミングしています
8
日曜プログラミングしています
• 自分しか使わないアプリ作りも好きです。
9
日曜プログラミングしています
• 自分しか使わないアプリ作りも好きです。
10
• さくらインターネットの紹介
11
さくらインターネットの紹介
1996 年 京都府舞鶴市にて創業1998 年 大阪市中央区へ移転1999 年 株式会社化、東京支社開設
大阪・東京へ IDC を新設2005 年 東証マザーズへ上場2011 年 石狩 IDC を新設
商号 さくらインターネット株式会社
本社所在地 大阪市中央区南本町一丁目 8 番 14 号
設立年月日1999 年 8 月 17 日(サービス開始は 1996 年 12 月 23日)
取締役
代表取締役 社長 田中 邦裕取締役 副社長 舘野 正明取締役 川田 正貴取締役 村上 宗久取締役(社外) 野村 昌雄
上場年月日 2005 年 10 月 12 日(東証マザーズ)
決算 3 月末日
資本金 8 億 9,530 万円
従業員数 225 名
1996 年からサービスを行うデータセンター・ホスティングの老舗です
12
さくらインターネットの事業
12
当社サービス別売上高構成比(’ 13/3 期)
その他
ホスティング58.2 %
ハウジング32.8 %
データセンターサービス
ホスティング
仮想ホスティング:
物理ホスティング:
・ VPS ・クラウドサービス
・専用サーバサービス・レンタルサーバサービス
コロケー
ショ
ンスペース貸し :
ラック貸し : ・ハウジングサービス
既存サービス
新たなサービス
・大規模ハウジング案件(石狩 DC )
データセンターサービスを幅広く手掛けるが、近年ではクラウド・ホスティング系が2/3以
上に
13
数字で見るさくらインターネット(四半期決算)
(金額:百万円)
科目名‘13/3期 ’14/3期 前四半期比
Q1 Q2 Q3 Q4 Q1 Q2 Q3 増減額 増減率
ハウジング 760 757 786 805 793 776 716 ▲59 ▲7.7%
構成比 32.5% 32.5% 33.2% 33.0% 32.1% 31.3% 28.3%
専用サーバ 751 729 686 688 679 656 644 ▲12 ▲1.8%
構成比 32.1% 31.3% 29.0% 28.2% 27.5% 26.5% 25.4%
レンタルサーバ 463 475 489 504 517 537 548 10 1.9%
構成比 19.8% 20.4% 20.7% 20.7% 20.9% 21.7% 21.6%
VPS・クラウド 143 155 200 232 260 286 319 33 11.8%
構成比 6.2% 6.7% 8.5% 9.5% 10.5% 11.5% 12.6%
その他 221 212 207 210 222 221 305 84 37.9%
構成比 9.4% 9.1% 8.7% 8.6% 9.0% 8.9% 12.1%
中でも、 VPS ・クラウドは高い伸び
14
北海道石狩市にデータセンターを作ったりもしています
15
「さくらのクラウド」のご紹介
16
「さくらのクラウド」のご紹介その前に!
17
祝LXC 1.0.0リリース
18
祝CentOS 6.5
Dockerサポート!
19
キャンペーンは終わりましたが、さくら賞の「桜葉愛グッズ」のうち
ステッカーを参加者全員にプレゼント!
20
「さくらのクラウド」のご紹介
21
「さくらのクラウド」のコンセプト
「開発者志向のシンプルクラウド」
何の変哲もない IaaS型クラウドを圧倒的なコストパフォーマンスで提供する
22
さくらのVPSが
スケールできて、ネットワークが自由に組めれば
いいよね
23
それが、さくらのクラウド
24
インスタンスというより
サーバーといった感覚
25
たくさんのサーバを
たくさんのサーバーを
26
かんたんに追加し
かんたんに追加し
27
アップグレードしたりダウングレードしたり
アップグレードしたりダウングレードしたり
28
複製してスケールアウトさせたり
複製してスケールアウトさせたり
29
かんたんに削除できます
かんたんに削除できます。
30
ロードバランサーもあります
ロードバランサーもあります
31
月額料金
転送量課金のない、固定制の課金形態で
32
日割料金
日割り課金も対応しており
33
新しい時間割料金表
昨年から時間割料金にも対応しています。
34
料金プランは選択する必要なし
20 日以上つかうと月額料金が自動適用され経済的。
35
従量課金制なし、事前に料金が予想できる
転送量課金がないため、事前に料金計算ができます。お客様がサーバーを増減させない限り固定料金です。
他社同等プラン( Small )
さくらのクラウド( 1 コア 2GB )
0
5000
10000
15000
20000
25000
30000
35000
40000
料金比較 ( 従量課金適用時( 1.6TB/ 月)
基本料金
36
ブラウザからサーバにアクセス
リモートスクリーン機能を使えば、ブラウザからサーバにアクセスできます
37
PXEブートの設定も可能で
PXE ブートの設定も可能で
38
OSの選択も可能で
OS の選択も可能で
39
boot オプショ ンの変更も可能で
boot オプショ ンの変更も可能で
40
シングルユーザーモードにだって
シングルユーザーモードにだって
41
シングルユーザーモードにだってなれます
シングルユーザーモードにだってなれます
42
fstab を変更したり
fstab を変更したり
43
iptables を変更したり
iptables を変更したり
44
パニックが起きた後も確認できます
パニックが起きた後も確認できます
45
ネットワークも自由に組めます
ネットワークも自由に組めます
46
NIC を追加して
NIC を追加して
47
線を伸ばして
線を伸ばして
48
ネットワーク接続もできます
ネットワーク接続もできます
49
「物理データセンター」とも接続できます
ハイブリッド接続を利用すれば「物理データセンター」である「さくらの専用サーバ」や「リモートハウジング」と接続可能
50
ディスクの取り扱いも便利です
サーバを起動しなくても、ディスク修正を行うことができます。
51
コピー機能でスナップショ ットも取れます
サーバにつなげられる「ディスク」と、つなげられないけど安価な「アーカイブ」へ、ワンタッチでスナップショ ットを作成できます。
52
さくらのVPSからワンタッチでコピー出来ます
さくらのVPSのスナップショ ットをとり、20 分~ 90 分程度でさくらのクラウドへ
コピーさせることが可能です。
53
SSD の提供もあります。それもHDDと同価格!
「標準プラン」でも一般的な HDDよりも性能が良く、同価格で提供している 20GB の SSD はさらにパフォーマンスが優れてます
IOPSの比較
54
標準でAPIをサポート
REST形式でアクセス可能で、 /server/ ならサーバ一覧など、直観的なAPIアクセスを実現。
$ curl --user “APIKEY":“SECRET" https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/server/Index":0,"ID":"112400226821","Name":"git\u30b5\u30fc\u30d01","HostName":"localhost","Description":"","ServiceClass":"cloud\/plan\/1","CreatedAt":"2012-05-07T00:19:44+09:00“,"Icon":{"ID":"112500078923","URL":"https:\/\/secure.sakura.ad.jp\/cloud\/zone\/is1a\/api\/cloud\/1.1\/icon\/112500078923.png","Name":"\u30cd\u30b3","Sc$ curl --user “APIKEY":“SECRET" -H 'X-Sakura-API-Beautify:1' https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/server/"From": 0, "Count": 29, "Total": 29, "Servers": [ { "Index": 0, "ID": "112400226821", "Name": "git\u30b5\u30fc\u30d01", "HostName": "localhost“,
55
CLI “sacloud” も用意しています。$ sudo ~/.nave/nave.sh usemain stable[sudo] password for tanaka:######################################################################## 100.0%installed from binary$ sudo npm install -g sacloud$ sacloud config --apiRoot="https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/"/home/tanaka/.sacloudcfg.json:{ "apiRoot": "https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/"}$ sacloud config --accessToken=APIKEY --accessTokenSecret=SECRET/home/tanaka/.sacloudcfg.json:{ "apiRoot": "https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/", "accessToken": “APIKEY", "accessTokenSecret": “SECRET"}$ sacloud show serverGET https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/server.json?{} -> 200 OK (1/1) ~1.539sec+--------------+--------------------+--------+---------------------+| id | name | status | created at |+--------------+--------------------+--------+---------------------+| 112400226821 | git サーバ 1 | up | 2012-05-07 00:19:44 |+--------------+--------------------+--------+---------------------+| 112500271369 | www2 | up | 2013-06-20 00:27:33 |+--------------+--------------------+--------+---------------------+| 112400258152 | rp1 | up | 2012-05-28 15:35:11 |
56
CSV や TSV 出力も可能です$ sacloud show server --csvid,name,status,created at112400226821,git サーバ 1,up,2012-05-07 00:19:44112500271369,www2,up,2013-06-20 00:27:33112400258152,rp1,up,2012-05-28 15:35:11112500271375,www1,up,2013-06-20 00:29:42112500271998,www3,up,2013-06-20 06:58:37112500272024,www4,up,2013-06-20 07:09:54
$ sacloud show server --tsvid name status created at112400226821 git サーバ 1 up 2012-05-07 00:19:44112500271369 www2 up 2013-06-20 00:27:33112400258152 rp1 up 2012-05-28 15:35:11112500271375 www1 up 2013-06-20 00:29:42112500271998 www3 up 2013-06-20 06:58:37112500272024 www4 up 2013-06-20 07:09:54
57
もちろん json 出力も可能です$ sacloud show server --json[{ "requestInfo": { "time": 1393585261726, "method": "GET", "url": "https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/server.json?{}", "path": "server" }, "request": {}, "responseInfo": { "time": 1393585262494, "latency": 768, "length": 55217, "serial": "b63869571cb83144b68dc73e8d7ed9fe", "status": 200, "statusText": "OK", "type": "resources", "key": "servers" }, "response": { "from": 0, "count": 29, "total": 29, "servers": [
58
サービスの強化にも積極的です
・ Windows Server 追加・ VPS からのクラウドへのマイグレーショ ン機能追加・ SLA・時間割課金・第 2ゾーン提供開始・小容量から大容量ディスクへのコピー機能・ゾーン間接続機能・ Windows VDI サービス提供開始・アーカイブのゾーン間コピー機能提供開始・スタートアップスクリプト機能ベータ提供開始・ブートデバイス順序指定タグ・ルータ+スイッチの IPv6対応 (β)・準仮想化ネットワークドライバ対応・パケットフィルタ機能強化
この半年で追加した機能
59
スタートアップスクリプト
サーバ作成時に任意のシェルスクリプトを「スタートアップスクリプト」から選択して
おけばサーバ起動時に実行させることができます。
60
自作スタートアップスクリプトも作れます
例えば、 Docker がセットアップ済みのサーバーを
作ることなんかもできます。
61
git からのインポートも対応予定
他の人の作ったスタートアップスクリプトをベースに、簡単にサーバー立ち上げができるように!
62
ということで
63
宣伝は終わりです
64
Docker をやってみよう!
65
まず Immutable Infrastructure の勉強
運用中はサーバーの変更をしない!Immutable = 状態を変えられない
新しい設定やアプリを入れる時には、新しい設定をしたサーバーを新しく立ち上げ
る
66
まず Immutable Infrastructure の勉強
Server 1アプリサー
バ
Server 2アプリサー
バServer 3
DB サーバ
ロードバランサー
現行環境
最初の環境
67
まず Immutable Infrastructure の勉強
10/25 – アプリケーションの修正Server 4
アプリサーバ
Server 5アプリサー
バServer 3
DB サーバ
ロードバランサー
現行環境
アプリの修正のため Server4 と Server5 を新規に立ち上げ
68
まず Immutable Infrastructure の勉強
10/25 – アプリケーションの修正
1/15 – DB サーバーにセキュリティパッチ適用
Server 4アプリサー
バ
Server 5アプリサー
バServer 3
DB サーバ
ロードバランサー
Server 4アプリサー
バ
Server 5アプリサー
バServer 6
DB サーバ
古い環境
現行環境
DB サーバにパッチをあてるべく Server6 を立ち上げ
69
まず Immutable Infrastructure の勉強
10/25 – アプリケーションの修正
1/15 – DB サーバーにセキュリティパッチ適用
Server 4アプリサー
バ
Server 5アプリサー
バServer 3
DB サーバ
3/1 – アプリサーバの設定変更&増設(予定)
ロードバランサー
Server 4アプリサー
バ
Server 5アプリサー
バServer 6
DB サーバ
Server 8アプリサー
バ
Server 9アプリサー
バServer 6
DB サーバServer 7
アプリサーバ
古い環境
現行環境
新しい環境
新しい環境をつくり、テストを開始
70
1/15 – DB サーバーにセキュリティパッチ適用
まず Immutable Infrastructure の勉強
3/1 – アプリサーバの設定変更&増設
ロードバランサー
Server 4アプリサー
バ
Server 5アプリサー
バServer 6
DB サーバ
Server 8アプリサー
バ
Server 9アプリサー
バServer 6
DB サーバServer 7
アプリサーバ
現行環境
どんどん、新しい環境へ切り替えて、古い環境は捨てる
古い環境
71
でもサーバーをたくさん借りるとお金がかかる
サーバーをたくさん借りるとお金がかかる
新しい環境作るたびにVPSや EC2 借りるの?
もったいないよね。
72
サーバーの上に自分でサーバーを作れれば…
それなら、借りたサーバー上に仮想的にサーバー環境を作ればいいじゃん。
サーバーの上にコンテナを載せて。
73
ここでコンテナの登場!
ハードウェア
ホスト OS
ハイパーバイザー
ゲスト OS
プロセス
プロセス
ゲスト OS
プロセス
プロセス
ハードウェア
ホスト OS
プロセス
プロセス
プロセス
プロセス
完全仮想化 コンテナ
コンテナはハイパーバイザーを挟まないライトウェイトな仮想化ソリューション赤の他人同士で使うのは気が引けるが、
内輪で仮想化するならもってこい。
74
ここでコンテナの登場!
ハードウェア
ホスト OS
ハイパーバイザー
ゲスト OS
プロセス
プロセス
ゲスト OS
プロセス
プロセス
ハードウェア
ホスト OS
プロセス
プロセス
プロセス
プロセス
完全仮想化 コンテナ
コンテナはハイパーバイザーを挟まないライトウェイトな仮想化ソリューション赤の他人同士で使うのは気が引けるが、
内輪で仮想化するならもってこい。
VPS・仮想サーバ
ゲスト OS
プロセス
プロセス
プロセス
プロセス
コンテナ
75
Docker の紹介
Linux では LXC というコンテナ技術があるがいささか使いにくい(という人が多い)
それを手軽にしたのが Docker
76
Docker の紹介
コンテナサーバー1
コンテナサーバー2
コンテナサーバー3
借りた IaaS クラウドや VPS などのサーバー
LXCDocker
LXC を手軽に使えるインターフェースを備え、サーバーを作って壊すが簡単にできます。
77
ではインストール
$ sudo wget -P /etc/yum.repos.d http://www.hop5.in/yum/el6/hop5.repo$ sudo yum install xz docker-io -y
CentOS 6.5 から Docker をサポートしたので、ワンタッチでインストール可能
78
インストールが完了すれば起動させる
$ sudo wget -P /etc/yum.repos.d http://www.hop5.in/yum/el6/hop5.repo$ sudo yum install xz docker-io -y$ sudo service docker startStarting cgconfig service: [ OK ]Starting docker: [ OK ]$
service docker start で Docker が起動される
79
Docker を使う
$ sudo docker run –i –t centos /bin/bash
docker run すると、新しいコンテナが作られ、引数で指定されたコマンドが実行される
TTY を利用できるように
する
コンテナの標準入力を有効にする
80
Docker を使う
$ sudo docker run –i –t centos /bin/bashbash-4.1# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.0 11304 1584 ? S 07:22 0:00 /bin/bashroot 8 0.0 0.0 13364 1060 ? R+ 07:22 0:00 ps aux
docker run すると、新しいコンテナが作られ、引数で指定されたコマンドが実行される
引数で指定したコマンドが PID=1 として実行され
る
81
Docker を使う
$ sudo docker run –i –t centos /bin/bashbash-4.1# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.0 11304 1584 ? S 07:22 0:00 /bin/bashroot 8 0.0 0.0 13364 1060 ? R+ 07:22 0:00 ps auxbash-4.1# hostname7749f193be9cbash-4.1# ifconfigeth0 Link encap:Ethernet HWaddr A6:B8:BE:38:82:F3 inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::a4b8:beff:fe38:82f3/64 Scope:Link
引数で指定したコマンドが PID=1 として実行され
る
コンテナの ID がホスト名として付与され
る
ホスト側と異なるIP アドレスが付与される
docker run すると、新しいコンテナが作られ、引数で指定されたコマンドが実行される
82
Docker を使う
$ sudo docker run –i –t centos /bin/bashbash-4.1# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.0 11304 1584 ? S 07:22 0:00 /bin/bashroot 8 0.0 0.0 13364 1060 ? R+ 07:22 0:00 ps auxbash-4.1# hostname7749f193be9cbash-4.1# ifconfigeth0 Link encap:Ethernet HWaddr A6:B8:BE:38:82:F3 inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::a4b8:beff:fe38:82f3/64 Scope:Link~略~bash-4.1# exit$
コンテナが exit されると、そのコンテナは破棄される
引数で指定したコマンドが PID=1 として実行され
る
コンテナの ID がホスト名として付与され
る
ホスト側と異なるIP アドレスが付与される
83
• docker で実行されるのは引数で指定したコマンドだけ– /bin/bash を実行しても sshd は実行されない– /usr/bin/sshd のように直接指定する必要がある
押さえておくポイント (1)
通常のサーバ docker の場合
/sbin/init
httpd
sshd
bash
ps
bash
ps
httpdCGI
CGI
sshd
bash
84
• docker を立ち上げるたびに新しい環境–通常のサーバーと違い再起動するとデータは巻き戻る
押さえておくポイント (2)
Docker イメージCentOS
Docker コンテナ
Docker コンテナ
Docker コンテナ
Docker コンテナ
docker run
docker run
docker run
docker run
相互に干渉はしない
85
終了したコンテナの一覧を見る
$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORT NAMES7749f193be9c centos /bin/bash 3 hours ago Exit 0 naughty_feynmanec2a32c5673d centos /bin/bash 8 hours ago Exit 1 pensive_curie69f83a9a94849 centos /bin/bash 8 hours ago Exit 1 thirsty_lumiere6db258573742 centos /bin/bash 8 hours ago Exit 0 suspicious_mclean
終了したコンテナのデータは、明示的に削除しない限り、残されている
86
終了したコンテナからイメージを作る
$ sudo docker commit 7749f193be9c centos:test9f96c865d261b982cc2266b5cfba0af39da57111b53b476a9179a3be2a475966$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEcentos test 9f96c865d261 23 seconds ago 599.5 MB
終了したコンテナをコミットすると、イメージ化されて、 docker run させることが
できる
新しいイメージに付与する
タグを指定
87
Docker におけるイメージとコンテナの関係
コンテナc1ae0d1372d8
イメージcentos: latest
docker run
イメージからコンテナを作成し run する
88
Docker におけるイメージとコンテナの関係
コンテナc1ae0d1372d8
コンテナ15cb2a03c788
コンテナd7580743d875
イメージcentos: latest
docker run
run するたびに、新しいコンテナが生成される
イメージからコンテナを作成し run するrun するたびに新しい環境が作られる
89
Docker におけるイメージとコンテナの関係
コンテナc1ae0d1372d8
コンテナ15cb2a03c788
コンテナd7580743d875
イメージcentos:test
イメージcentos: latest
docker run
docker commit
run するたびに、新しいコンテナが生成される
commit して、イメージ化する
イメージからコンテナを作成し run するコンテナを commit すると新しいイメージが
作られる
90
Docker におけるイメージとコンテナの関係
コンテナc1ae0d1372d8
コンテナ15cb2a03c788
コンテナd7580743d875
イメージcentos:test
イメージcentos: latest
docker run
docker commit
run するたびに、新しいコンテナが生成される
commit して、イメージ化する
コンテナ45e540c71952
docker run
イメージからコンテナを作成し run するコンテナを commit すると新しいイメージが
作られる
91
先ほどイメージ化したものから起動
最初に実行したコマンドがhistory に残っているのがわかる。
$ sudo docker run –i –t centos:test /bin/bashbash-4.1# history 1 ps aux 2 hostname 3 ifconfig 4 exit 5 historybash-4.1# exit$
先ほどイメージに付与したタグを指定
92
LAMP 環境を作ってみよう
93
Docker による LAMP環境作成
一つの Docker 内で複数サービスを動作させるために、 monit を使用する
monit
docker
Apache fluentd sshd
Docker コンテナ
MySQL
94
インストール手順( 1 )
$ git clone https://github.com/kunihirotanaka/docker-centos-lamp.gitInitialized empty Git repository in /home/tanaka/docker-centos-lamp/.git/remote: Counting objects: 32, done.remote: Compressing objects: 100% (24/24), done.remote: Total 32 (delta 11), reused 26 (delta 8)Unpacking objects: 100% (32/32), done.$ cd docker-centos-lamp/$ lsDockerfile README.md monit.conf monit.mysqld monit.td-agent td.repoLICENSE authorized_keys monit.httpd monit.sshd td-agent.conf
Dockerfile という定義ファイルを取得する
95
インストール手順( 2 )
Dockerfile を編集
FROM centosMAINTAINER Kunihiro Tanaka
ENV IP __YOUR_IP_ADDRESS_HERE__ENV PW __YOUR_PASSWORD_HERE__ENV LOGSERVER __YOUR_LOG_SERVER_HERE__
FROM centosMAINTAINER Kunihiro Tanaka
ENV IP 192.168.50.3ENV PW Jhd30KwjENV LOGSERVER logserver.example.jp
Dockerfile 変更前 Dockerfile 変更例
96
インストール手順( 3 )
$ sudo docker build -t centos:lamp .~略~Successfully built c94a7828a3a9$ sudo docker images[sudo] password for tanaka:REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEcentos lamp c94a7828a3a9 About a minute ago 1.156
docker build を実行けっこう時間かかります。
新しく作成されるイメージに付与するタグ
97
起動する
$ sudo docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 ¥ centos:lamp /usr/bin/monit –I65d63382ebac74066290024a096fc291cf054435e1d10331ee1a03ac7e5e0c65
先ほどの Docker イメージから monit を起動する。
monit に -I オプションで、フォアグラウンド実行。
-d はデーモンとしてバックグラウンド実行させる -p はポート転送
98
起動する
$ sudo docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 ¥ centos:lamp /usr/bin/monit –I65d63382ebac74066290024a096fc291cf054435e1d10331ee1a03ac7e5e0c65$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES65d63382ebac b3f874bbbd97 /usr/bin/monit -I 49 seconds ago Up 48 seconds 0.0.0.0:10022->22/tcp, 0.0.0.0:10080->80/tcp, 0.0.0.0:12812->2812/tcp prickly_lovelace
docker ps すると、 monit が実行されていることが
確認できる
99
monit へアクセスしてみる
docker の動いているサーバの 12812 番ポートdocker なら http://192.168.1.1:12812/
ユーザ名は admin 、パスワードは monit
100
phpMyAdmin でアクセスしてみる
docker の動いているサーバの 10080 番ポート192.168.1.1 なら http://192.168.1.1:10080/phpmyadmin/
ユーザ名は root 、パスワードは先ほどのもの
101
構築完了
ということで
構築完了しました!
102
本日いらっしゃった皆様に
2 万円分の「さくらのクラウド」無料クーポンを差し上げます
ご登録は 2014 年 5 月末まで、 1 年間有効です。すでに利用されている方でも、クーポンが初めてであればご利用頂けます。
103
ご清聴ありがとうございました
• フィードバック、感想よろしくお願いします• 他のイベントにも、ぜひ呼んでいただければ幸いです
–ハッシュタグ #sacloud –公式 Twitter @sakuracloud–ブログや Twitter での感想をお待ちしております
104
[参考 ] さくらのクラウドのベンチマーク
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000 4 コア 8GB 2 コア 2GB 1 コア 2GB
Large Medium Small
※UnixBench Index Score
6/19 (水) 6/20 (木) 6/21 (金) 6/22 (土)
MAX 4303 AVE 3818 MIN 3464
MAX 2707 AVE 2425 MIN 2180
MAX 1629 AVE 1589 MIN 1521
MAX 325 AVE 304 MIN 291
MAX 619 AVE 563 MIN 472
MAX 161 AVE 152 MIN 142