Slide 1

Slide 1 text

(C)Copyright 1996-2014 SAKURA Internet Inc. さくらインターネット 横田真俊(@wslash) 2016/05/14

Slide 2

Slide 2 text

2 氏名 横田真俊(@Wslash) 「さくらのクラウド」の企画担当 兼 エバンジェリストをやっております 年に50回程度の講演・ハンズオンを 行っております 左のアイコンで、ツイッターを やっていますのでお気軽に お声がけください

Slide 3

Slide 3 text

3 Amazon EC2/S3 入門 今は、さくらのクラウド企画担当 をやっていますが、昔はこんな本 を書いていました

Slide 4

Slide 4 text

4 ツイッターやFacebookなど ソーシャルメディアの本 を5冊ほど書いてます

Slide 5

Slide 5 text

Dockerを利用すると コマンド一発で色々なソフトの 検証ができるよ! 5

Slide 6

Slide 6 text

(C)Copyright 1996-2014 SAKURA Internet Inc.

Slide 7

Slide 7 text

7 ホストOSの上で「仮想化ソフト」を動かすタイプ ホストOSとアプリを共存できるのでPCからの個人利用の形 で多いが、ホストの負荷が大きい ホスト形仮想化ソフト (VirtualBOXなど) OS (1) OS(2) OS(3) アプリ アプリ アプリ ホストOS(Windows/Linuxなど) アプリ

Slide 8

Slide 8 text

8 ホストOSの代わりに「ハイパーバイザー」が仮想サーバを 制御する。ホストサーバ全体を仮想化で利用するため、ホス トOSを経由しないためホストOS型よりレスポンスが良い ハイパーバイザー (VMWareなど) OS (1) OS(2) OS(3) アプリ アプリ アプリ

Slide 9

Slide 9 text

9 OSの代わりに各コンテナがアプリを稼動させます。今まで より一番ホストマシンの処理負荷が低い コンテナ管理ソフトウェア (Dockerなど) コンテナ(1) コンテナ(2) コンテナ(3) アプリ アプリ アプリ ホストOS(Linux) アプリ

Slide 10

Slide 10 text

• 処理速度が速い → OSやハードウェアを仮想化していないためオーバーヘッド が少なく処理能力が早い • メモリやディスクの消費量をおさえられる → それぞれにカーネルを持たないためメモリ/ディスクの 消費量をおさえられる。 • ポータビリティ → 環境を意識せず使える 10

Slide 11

Slide 11 text

11 何がうれしいのか?

Slide 12

Slide 12 text

■検証・使い捨て環境がすぐに使える → 「低コスト」かつ「コマンド1発」で利用できる。 ■環境の統一化 → 開発・運用・ステージングと色々な「環境」を用意せずに コンテナに統一できる。 ■クラウド時代のバズワードが手軽に実現 → イミュータブル、オートスケーリング etc… 12

Slide 13

Slide 13 text

(C)Copyright 1996-2014 SAKURA Internet Inc.

Slide 14

Slide 14 text

14 今回はCentOS 7系でインストールします 今日の資料は別途、公開いたします 2万円クーポンを配るのでそれで復習できます

Slide 15

Slide 15 text

15 「curl -sSL https://get.docker.com/ | sh」とコマンドを入れるとDocker のインストールがはじまります。 curl -sSL https://get.docker.com/ | sh

Slide 16

Slide 16 text

16 「systemctl start docker」とコマンドを入れるとDockerが動きます systemctl start docker

Slide 17

Slide 17 text

17 「docker version」と入力してDockerのバージョンが表示されれば、 Dockerが正常にインストールされています。 docker version

Slide 18

Slide 18 text

18 コンテナを起動する「docker run」

Slide 19

Slide 19 text

■docker run コマンド → 指定したイメージのコンテナを起動する ■構文 → docker run イメージ [オプション][コマンド][引数] ■オプション → -d バックグランドで実行 → -i コンテナの標準入力を開く → -t ttyを確保する → -p ポートフォワード 19

Slide 20

Slide 20 text

20 ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。 上記のコマンドを入力してください。 docker run hello-world

Slide 21

Slide 21 text

21 「hello world」の入力が終わると、上記のような画面が表示されます。

Slide 22

Slide 22 text

22 これだけではつまらないので アプリを入れてみましょう

Slide 23

Slide 23 text

23 「Ghost」は最近、人気が出ているNode.js製の軽量ブログエンジンです。 今回はDockerを利用して、コマンド1発でインストールします。

Slide 24

Slide 24 text

• Node.jsとnpm • ApacheとかのWebサーバ • その他、色々 24 「Ghost」をインストールして利用するには上記のような物を色々とインス トールする必要があり面倒です。

Slide 25

Slide 25 text

25 Ghostを80番ポートで利用できるようにします。元々Ghostは2368番ポート で動いているので80番ポートとマッピングさせます。 docker run -p 80:2368 -d ghost

Slide 26

Slide 26 text

26 インストールが終わったら「(IPアドレス)」をブラウザで入力してください。 上記のような「画面」が表示されます。「(IPアドレス)/admin」でGhostの セットができます。

Slide 27

Slide 27 text

27 起動を確認したら、このコンテナを止めてみましょう。コンテナの止め方は 「docker stop (コンテナのID)」で止りますので「docker ps」でコンテナ IDを調べます。 docker ps

Slide 28

Slide 28 text

28 「docker ps」を入力して「CONTANER ID」を確認する。

Slide 29

Slide 29 text

29 「docker stop (コンテナのID)」を入力すると、ghostのコンテナが止りま す。(先ほどの例だと07a4e04f6418となります。) docker stop (CONTANER ID)

Slide 30

Slide 30 text

30 Docker Compose

Slide 31

Slide 31 text

31 Docker Composeは、複数のコンテナか ら構成するサービスを従来よりも簡単に 構築できるツールです。 従来はコンテナを作成するには、いちい ち「docker run」しなければならなかっ たのが、コマンド1発で複数のコンテナ を利用したサービスを構築できます。

Slide 32

Slide 32 text

32 Docker Composeを利用して Zabbix 3.0の環境を構築する

Slide 33

Slide 33 text

33 上記のコマンドを入力して、Docker Composeのバイナリをセットする curl -L https://github.com/docker/compose/releases/down load/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose

Slide 34

Slide 34 text

34 「docker-compose version」を入力すると、Docker composeのバージョ ンが表示される、正しくインストールされれば、このコマンドでバージョン 情報が表示される。 docker-compose version

Slide 35

Slide 35 text

35 本来であれば、作業用のディレクトリの中に「docker-compose.yaml」を 用意する必要があるのですが、今回は事前に私の方で作成したので、そちら をクローンしてください。クローンが終わったら「zabbix3」に移動します。 git clone https://github.com/wslash/zabbix3.git cd zabbix3

Slide 36

Slide 36 text

36 先ほど作成したディレクトリ「zabbix3」の中で「docker-compose pull」 を入力。Zabbixに必要なイメージをダウンロードします。 docker-compose pull

Slide 37

Slide 37 text

37 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。 docker images

Slide 38

Slide 38 text

38 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。

Slide 39

Slide 39 text

39 イメージを取得できていれば「docker-compose up -d」を入力してZabbix 起動に必要な複数のコンテナを立ち上げます。 docker-compose up -d

Slide 40

Slide 40 text

40 「docker-compose up -d」でコンテナを立ち上げた後「docker ps」で、 正常に動作しているか確認する。 docker ps

Slide 41

Slide 41 text

41 正常に動作していれば、ブラウザにサーバのIPアドレスを入力すれば、Zabbix のロ グイン画面が表示されます。ID: Admin 、 Password: zabbix でログインした後、パス ワードを変更してください。

Slide 42

Slide 42 text

DockerとDocker Composeを利用すると、 すぐに検証環境が利用できて便利 42

Slide 43

Slide 43 text

43 前佛さんがQiitaに書かれている「Zabbix 3.0をDocker Composeで一度に実行する方 法」が詳しいので、そちらもご確認ください。 http://qiita.com/zembutsu/items/686b99be90d72688aee8

Slide 44

Slide 44 text

ご静聴ありがとうございました。 さくらインターネットのブースでは 「さくらのクラウド 2万円クーポン」を配布しております。 ぜひブースにお越し下さい 44