OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~

5,098 views

Published on

OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~

  1. 1. オープンソースカンファレンス2014 Tokyo 田中邦裕 (C)Copyright 1996-2014 SAKURA Internet Inc. (@kunihirotanaka)
  2. 2. 1 自己紹介 2 「さくらのクラウド」のご紹介 3 Dockerをつかってみた 宣伝4割、Docker 1割、求人5割です 2
  3. 3. • 名前 • 年齢 • 出身 :田中邦裕(たなかくにひろ) :36歳 :大阪(今も一応、大阪在住) @kunihirotanaka http://facebook.com/kunihirotanaka 3
  4. 4. •プログラミング –計算機科学方面ではなく、何かを動かすのが好き •電子工作 –ラジオからAVR(マイコン)まで •DTM –SC-55を皮切りにパソ通などにアップしていた •旅行&鉄道 –北海道から沖縄まで国内専門、あと乗り鉄 •アニメ –人並み程度に視聴 4
  5. 5. • さくらのクラウドも最初は個人で作ってました • 昔はApacheドキュメント翻訳やってました • いわゆるジェネレーター系サイトやってます 5
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. • 自分しか使わないアプリ作りも好きです。 9
  10. 10. • 自分しか使わないアプリ作りも好きです。 10
  11. 11. • さくらインターネットの紹介 11
  12. 12. 1996年からサービスを行う データセンター・ホスティングの老舗です 商 号 さくらインターネット株式会社 本 社 所 在 地 大阪市中央区南本町一丁目8番14号 設 立 年 月 日 1999年8月17日 (サービス開始は1996年12月23日) 取 代表取締役 社長 取締役 副社長 取締役 取締役 取締役(社外) 締 役 田中 邦裕 舘野 正明 川田 正貴 村上 宗久 野村 昌雄 上 場 年 月 日 2005年10月12日(東証マザーズ) 決 算 3月末日 金 8億9,530万円 数 225名 資 従 12 本 業 員 1996年 京都府舞鶴市にて創業 1998年 大阪市中央区へ移転 1999年 株式会社化、東京支社開設 大阪・東京へIDCを新設 2005年 東証マザーズへ上場 2011年 石狩IDCを新設
  13. 13. データセンターサービスを幅広く手掛けるが、 近年ではクラウド・ホスティング系が2/3以上に データセンターサービス ホ ス テ ィ ン グ コ ロ ケ ー シ ョ ン 13 既存サービス 仮想ホスティング: ・VPS・クラウドサービス 物理ホスティング: ・専用サーバサービス ・レンタルサーバサービス ラック貸し : : ・大規模ハウジング案件 (石狩DC) その他 ・ハウジングサービス スペース貸し 当社サービス別売上高構成比 (’13/3期) 新たなサービス ホスティング 58.2% ハウジング 32.8% 13
  14. 14. 中でも、VPS・クラウドは高い伸び (金額:百万円) ‘13/3期 科目名 Q1 ハウジング Q3 Q4 Q1 Q3 760 構成比 レンタルサーバ 構成比 VPS・クラウド 構成比 その他 構成比 786 805 793 776 716 32.5% 32.5% 33.2% 33.0% 32.1% 31.3% 729 686 688 679 656 644 32.1% 31.3% 29.0% 28.2% 27.5% 26.5% 475 489 504 517 537 548 19.8% 20.4% 20.7% 20.7% 20.9% 21.7% 155 200 232 260 286 319 6.2% 6.7% 8.5% 9.5% 10.5% 11.5% 207 210 222 221 305 9.4% 9.1% 8.7% 8.6% 9.0% 8.9% 12.1% ▲12 ▲1.8% 10 1.9% 33 11.8% 84 37.9% 12.6% 212 ▲7.7% 21.6% 143 ▲59 25.4% 463 前四半期比 増減額 増減率 28.3% 221 専用サーバ 757 751 構成比 14 Q2 ’14/3期 Q2
  15. 15. 北海道石狩市にデータセンターを 作ったりもしています 15
  16. 16. 「さくらのクラウド」のご紹介 16
  17. 17. その前に! 「さくらのクラウド」のご紹介 17
  18. 18. 祝 LXC 1.0.0 リリース 18
  19. 19. 祝 CentOS 6.5 Docker サポート! 19
  20. 20. 本当は去年のうちに55,555件突破してたんですが キャンペーンが間に合わず今の時期に・・・ 20
  21. 21. ちなみに、個人的には AWSも好き! なので嫌わないでください 21
  22. 22. 余談ですが… クラウドの決め手って何か知ってますか? 価格?性能?機能? 22
  23. 23. みんなが使ってるが正義! AWSでいいんじゃないの? さくらのVPSでいいんじゃないの? 23
  24. 24. でも、ちょっと待った! 24
  25. 25. ただ、この娘 売り出し中です 「さくらのクラウド」のご紹介 25
  26. 26. 「開発者志向のシンプルクラウド」 何の変哲もないIaaS型クラウドを 圧倒的なコストパフォーマンスで提供する 26
  27. 27. さくらのVPSが スケールできて、 ネットワークが自由に組めれば いいよね 27
  28. 28. それが、さくらのクラウド 28
  29. 29. インスタンスというより サーバーといった感覚 29
  30. 30. たくさんのサーバーを 30
  31. 31. かんたんに追加し 31
  32. 32. アップグレードしたり ダウングレードしたり 32
  33. 33. 複製してスケールアウトさせたり 33
  34. 34. かんたんに削除できます。 34
  35. 35. ロードバランサーもあります 35
  36. 36. 転送量課金のない、固定制の課金形態で 36
  37. 37. 日割り課金も対応しており 37
  38. 38. 昨年から時間割料金にも対応しています。 38
  39. 39. 20日以上つかうと月額料金が自動適用され経済的。 39
  40. 40. 料金比較(従量課金適用時(1.6TB/月) 40000 35000 30000 25000 20000 従量課金分 15000 10000 5000 0 他社同等プラン さくらのクラウド (Small) (1コア2GB) 転送量課金がないため、事前に料金計算ができます。 お客様がサーバーを増減させない限り固定料金です。 40
  41. 41. リモートスクリーン機能を使えば、ブラウザからサーバにア クセスできます 41
  42. 42. PXEブートの設定も可能で 42
  43. 43. OSの選択も可能で 43
  44. 44. bootオプションの変更も可能で 44
  45. 45. シングルユーザーモードにだって 45
  46. 46. シングルユーザーモードにだって なれます 46
  47. 47. fstabを変更したり 47
  48. 48. iptablesを変更したり 48
  49. 49. パニックが起きた後も確認できます 49
  50. 50. ネットワークも自由に組めます 50
  51. 51. NICを追加して 51
  52. 52. 線を伸ばして 52
  53. 53. ネットワーク接続もできます 53
  54. 54. ハイブリッド接続を利用すれば「物理データセンター」であ る「さくらの専用サーバ」や「リモートハウジング」と接続 可能 54
  55. 55. サーバを起動しなくても、 ディスク修正を行うことができます。 55
  56. 56. サーバにつなげられる「ディスク」と、 つなげられないけど安価な「アーカイブ」へ、 ワンタッチでスナップショットを作成できま す。 56
  57. 57. さくらのVPSのスナップショットをとり、 20分~90分程度でさくらのクラウドへ コピーさせることが可能です。 57
  58. 58. IOPSの比較 「標準プラン」でも一般的なHDDよりも性能が良く、同価格 で提供している20GBのSSDはさらにパフォーマンスが優れ てます 58
  59. 59. $ curl --user “APIKEY":“SECRET" https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/server/ Index":0,"ID":"112400226821","Name":"gitu30b5u30fcu30d01","HostName":"localhost","Description":"","ServiceClass":"clou d/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":"u30cdu30b3", "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": "gitu30b5u30fcu30d01", "HostName": "localhost“, REST形式でアクセス可能で、/server/ならサーバ一覧な ど、直観的なAPIアクセスを実現。 59
  60. 60. $ 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 server GET 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 | 60
  61. 61. $ sacloud show server --csv 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 112500271375,www1,up,2013-06-20 00:29:42 112500271998,www3,up,2013-06-20 06:58:37 112500272024,www4,up,2013-06-20 07:09:54 $ sacloud show server --tsv 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 112500271375 www1 up 2013-06-20 00:29:42 112500271998 www3 up 2013-06-20 06:58:37 112500272024 www4 up 2013-06-20 07:09:54 61
  62. 62. $ 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": [ 62
  63. 63. この半年で追加した機能 ・Windows Server 追加 ・VPSからのクラウドへのマイグレーション機能追加 ・SLA ・時間割課金 ・第2ゾーン提供開始 ・小容量から大容量ディスクへのコピー機能 ・ゾーン間接続機能 ・Windows VDIサービス提供開始 ・アーカイブのゾーン間コピー機能提供開始 ・スタートアップスクリプト機能ベータ提供開始 ・ブートデバイス順序指定タグ ・ルータ+スイッチのIPv6対応(β) ・準仮想化ネットワークドライバ対応 ・パケットフィルタ機能強化 63
  64. 64. サーバ作成時に任意のシェルスクリプトを 「スタートアップスクリプト」から選択しておけば サーバ起動時に実行させることができます。 64
  65. 65. 例えば、Dockerがセットアップ済みのサーバーを 作ることなんかもできます。 65
  66. 66. 他の人の作ったスタートアップスク リプトをベースに、簡単にサーバー 立ち上げができるように! 66
  67. 67. ということで 67
  68. 68. 宣伝は終わりです 68
  69. 69. Dockerをやってみよう! 69
  70. 70. 運用中はサーバーの変更をしない! Immutable = 状態を変えられない 新しい設定やアプリを入れる時には、 新しい設定をしたサーバーを新しく立ち上げる 70
  71. 71. Server 1 アプリサーバ Server 2 アプリサーバ ロード バランサー 最初の環境 71 Server 3 DBサーバ 現行環境
  72. 72. 10/25 – アプリケーションの修正 Server 4 アプリサーバ Server 5 アプリサーバ Server 3 DBサーバ 現行環境 ロード バランサー アプリケーションの修正のためServer4とServer5を新規に立ち上げ 72
  73. 73. 10/25 – アプリケーションの修正 Server 4 アプリサーバ ロード バランサー Server 5 アプリサーバ Server 3 DBサーバ 古い環境 1/15 – DBサーバーにセキュリティパッチ適用 Server 4 アプリサーバ Server 5 アプリサーバ Server 6 DBサーバ 現行環境 DBサーバにセキュリティパッチをあてるべくServer6を立ち上げ 73
  74. 74. 10/25 – アプリケーションの修正 Server 4 アプリサーバ ロード バランサー Server 5 アプリサーバ Server 3 DBサーバ 古い環境 1/15 – DBサーバーにセキュリティパッチ適用 Server 4 アプリサーバ Server 5 アプリサーバ Server 6 DBサーバ 現行環境 3/1 – アプリサーバの設定変更&増設(予定) Server 7 アプリサーバ Server 8 アプリサーバ Server 9 アプリサーバ Server 6 DBサーバ 新しい環境 新しい環境をつくり、テストを開始 74
  75. 75. ロード バランサー 1/15 – DBサーバーにセキュリティパッチ適用 Server 4 アプリサーバ Server 5 アプリサーバ Server 6 DBサーバ 古い環境 3/1 – アプリサーバの設定変更&増設 Server 7 アプリサーバ Server 8 アプリサーバ Server 9 アプリサーバ Server 6 DBサーバ 現行環境 どんどん、新しい環境へ切り替えて、古い環境は捨てる 75
  76. 76. サーバーをたくさん借りるとお金がかかる 新しい環境作るたびにVPSやEC2借りるの? もったいないよね。 76
  77. 77. それなら、借りたサーバー上に 仮想的にサーバー環境を作ればいいじゃん。 サーバーの上にコンテナを載せて。 77
  78. 78. コンテナはハイパーバイザーを挟まない ライトウェイトな仮想化ソリューション 赤の他人同士で使うのは気が引けるが、 内輪で仮想化するならもってこい。 完全仮想化 プロセスプロセス プロセスプロセス ゲストOS コンテナ プロセスプロセスプロセスプロセス ゲストOS ハイパーバイザー ホストOS ホストOS ハードウェア 78 ハードウェア
  79. 79. コンテナはハイパーバイザーを挟まない ライトウェイトな仮想化ソリューション 赤の他人同士で使うのは気が引けるが、 内輪で仮想化するならもってこい。 完全仮想化 プロセスプロセス プロセスプロセス ゲストOS コンテナ コンテナ プロセスプロセスプロセスプロセス プロセスプロセスプロセスプロセス ホストOS ゲストOS ハードウェア VPS・仮想サーバ ゲストOS ハイパーバイザー ホストOS ハードウェア 79
  80. 80. LinuxではLXCというコンテナ技術があるが いささか使いにくい(という人が多い) それを手軽にしたのがDocker 80
  81. 81. 借りたIaaSクラウドやVPSなどのサーバー コンテナサーバー1 Docker LXC コンテナサーバー2 コンテナサーバー3 LXCを手軽に使えるインターフェースを備え、 サーバーを作って壊すが簡単にできます。 81
  82. 82. $ 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をサポートしたので、 ワンタッチでインストール可能 82
  83. 83. $ 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 start Starting cgconfig service: [ OK ] Starting docker: [ OK ] $ service docker startでDockerが起動される 83
  84. 84. $ sudo docker run –i –t centos /bin/bash コンテナの標準入力を 有効にする TTYを利用できるように する docker runすると、新しいコンテナが作られ、 引数で指定されたコマンドが実行される 84
  85. 85. $ sudo docker run –i –t centos /bin/bash bash-4.1# ps aux USER PID %CPU %MEM VSZ RSS TTY root 1 0.1 0.0 11304 1584 ? root 8 0.0 0.0 13364 1060 ? 引数で指定したコマンドが PID=1として実行される STAT START S 07:22 R+ 07:22 TIME COMMAND 0:00 /bin/bash 0:00 ps aux docker runすると、新しいコンテナが作られ、 引数で指定されたコマンドが実行される 85
  86. 86. 引数で指定したコマンドが PID=1として実行される $ sudo docker run –i –t centos /bin/bash bash-4.1# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.0 11304 1584 ? S 07:22 0:00 /bin/bash root 8 0.0 0.0 13364 1060 ? R+ 07:22 0:00 ps aux bash-4.1# hostname コンテナのIDが 7749f193be9c ホスト名として付与される bash-4.1# ifconfig eth0 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 ホスト側と異なる IPアドレスが付与される docker runすると、新しいコンテナが作られ、 引数で指定されたコマンドが実行される 86
  87. 87. 引数で指定したコマンドが PID=1として実行される $ sudo docker run –i –t centos /bin/bash bash-4.1# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.0 11304 1584 ? S 07:22 0:00 /bin/bash root 8 0.0 0.0 13364 1060 ? R+ 07:22 0:00 ps aux bash-4.1# hostname コンテナのIDが 7749f193be9c ホスト名として付与される bash-4.1# ifconfig eth0 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 IPアドレスが付与される $ コンテナがexitされると、そのコンテナは 破棄される 87
  88. 88. • dockerで実行されるのは引数で指定したコマン ドだけ – /bin/bashを実行してもsshdは実行されない – /usr/bin/sshdのように直接指定する必要がある 通常のサーバ dockerの場合 /sbin/init bash httpd ps CGI httpd sshd CGI bash ps sshd bash 88
  89. 89. • dockerを立ち上げるたびに新しい環境 – 通常のサーバーと違い再起動するとデータは巻き戻る Dockerイメージ CentOS docker run Dockerコンテナ docker run Dockerコンテナ 相互に干渉はしない docker run docker run 89 Dockerコンテナ Dockerコンテナ
  90. 90. $ sudo docker ps -a CONTAINER ID IMAGE 7749f193be9c centos ec2a32c5673d centos 9f83a9a94849 centos 6db258573742 centos COMMAND /bin/bash /bin/bash /bin/bash /bin/bash CREATED 3 hours 8 hours 8 hours 8 hours ago ago ago ago STATUS PORT NAMES Exit 0 naughty_feynman Exit 1 pensive_curie6 Exit 1 thirsty_lumiere Exit 0 suspicious_mclean 終了したコンテナのデータは、明示的に削除 しない限り、残されている 90
  91. 91. 新しいイメージに付与する タグを指定 $ sudo docker commit 7749f193be9c centos:test 9f96c865d261b982cc2266b5cfba0af39da57111b53b476a9179a3be2a475966 $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos test 9f96c865d261 23 seconds ago 599.5 MB 終了したコンテナをコミットすると、 イメージ化されて、docker runさせることができる 91
  92. 92. イメージ centos: latest コンテナ c1ae0d1372d8 docker run イメージからコンテナを作成しrunする 92
  93. 93. イメージ centos: latest runするたびに、新しいコンテナが生成される コンテナ c1ae0d1372d8 docker run コンテナ 15cb2a03c788 コンテナ d7580743d875 イメージからコンテナを作成しrunする runするたびに新しい環境が作られる 93
  94. 94. イメージ centos: latest runするたびに、新しいコンテナが生成される コンテナ c1ae0d1372d8 docker run commitして、イメージ化する コンテナ イメージ 15cb2a03c788 centos:test コンテナ docker commit d7580743d875 イメージからコンテナを作成しrunする コンテナをcommitすると新しいイメージが 作られる 94
  95. 95. イメージ centos: latest runするたびに、新しいコンテナが生成される コンテナ c1ae0d1372d8 docker run commitして、イメージ化する コンテナ イメージ 15cb2a03c788 centos:test コンテナ d7580743d875 コンテナ docker commit 45e540c71952 docker run イメージからコンテナを作成しrunする コンテナをcommitすると新しいイメージが 作られる 95
  96. 96. $ sudo docker run –i –t centos:test /bin/bash bash-4.1# history 先ほどイメージに付与した 1 ps aux タグを指定 2 hostname 3 ifconfig 4 exit 5 history bash-4.1# exit $ 最初に実行したコマンドが historyに残っているのがわかる。 96
  97. 97. LAMP環境を作ってみよう 97
  98. 98. docker monit Apache fluentd sshd MySQL Dockerコンテナ 一つのDocker内で複数サービスを動作させる ために、monitを使用する 98
  99. 99. $ git clone https://github.com/kunihirotanaka/docker-centos-lamp.git Initialized empty Git repository in /home/tanaka/docker-centoslamp/.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/ $ ls Dockerfile README.md monit.conf monit.mysqld monit.td-agent td.repo LICENSE authorized_keys monit.httpd monit.sshd td-agent.conf Dockerfileという定義ファイルを取得する 99
  100. 100. Dockerfile変更前 Dockerfile変更例 FROM centos MAINTAINER Kunihiro Tanaka FROM centos MAINTAINER Kunihiro Tanaka ENV IP __YOUR_IP_ADDRESS_HERE__ ENV PW __YOUR_PASSWORD_HERE__ ENV LOGSERVER __YOUR_LOG_SERVER_HERE__ ENV IP 192.168.50.3 ENV PW Jhd30Kwj ENV LOGSERVER logserver.example.jp Dockerfileを編集 10
  101. 101. $ sudo docker build -t centos:lamp . ~略~ 新しく作成される Successfully built c94a7828a3a9 イメージに付与するタグ $ sudo docker images [sudo] password for tanaka: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos lamp c94a7828a3a9 About a minute ago docker buildを実行 けっこう時間かかります。 10 1.156
  102. 102. $ sudo docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 ¥ centos:lamp /usr/bin/monit –I 65d63382ebac74066290024a096fc291cf054435e1d10331ee1a03ac7e5e0c65 -dはデーモンとしてバック グラウンド実行させる -pはポート転送 先ほどのDockerイメージからmonitを起動する。 monitに-Iオプションで、フォアグラウンド実行。 10
  103. 103. $ sudo docker run -d -t -p 12812:2812 -p 10080:80 -p 10022:22 ¥ centos:lamp /usr/bin/monit –I 65d63382ebac74066290024a096fc291cf054435e1d10331ee1a03ac7e5e0c65 $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 65d63382ebac 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が実行されていることが 確認できる 10
  104. 104. dockerの動いているサーバの12812番ポート dockerならhttp://192.168.1.1:12812/ ユーザ名はadmin、パスワードはmonit 10
  105. 105. dockerの動いているサーバの10080番ポート 192.168.1.1ならhttp://192.168.1.1:10080/phpmyadmin/ ユーザ名はroot、パスワードは先ほどのもの 10
  106. 106. ということで 構築完了しました! 10
  107. 107. ここから ちょっとデモやります 10
  108. 108. 2万円分の「さくらのクラウド」 無料クーポンを差し上げます ※詳細は後ろの方にいる、さくらの社員にお声がけください。 10
  109. 109. エンジニアを募集しています! ※詳細はブースにいる、さくらの社員にお声がけください。 10
  110. 110. ご清聴ありがとうございました • フィードバック、感想よろしくお願いします • 他のJAWS-UGにも、ぜひ呼んでいただければ幸いです – ハッシュタグ #sacloud – 公式Twitter @sakuracloud – ブログやTwitterでの感想をお待ちしております 11

×