Slide 1

Slide 1 text

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

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とDocker Machineをインス トールして利用ができるようになる」 のが目標 5

Slide 6

Slide 6 text

6 Dockerの特徴を再復習すると同時に、とりあえず動かして みます。 Docker Machineのインストールと、動かし方をデモで紹介 します 2万円分の無償クーポンを配布します。無料で本日の復習が 可能です

Slide 7

Slide 7 text

(C)Copyright 1996-2014 SAKURA Internet Inc.

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

12 何がうれしいのか?

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

(C)Copyright 1996-2014 SAKURA Internet Inc.

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

16 「yum install docker-io」とコマンドを入れるとDockerのインストールが はじまります。色々と聞かれますが、とりあえず「y」を入力してください。 yum install docker-io

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

22 「hello world」の入力が終わると「docker run –it ubuntu bash」を試し てみろ、と言われているので、これを入力してみましょう。

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

28 Docker Machine

Slide 29

Slide 29 text

VirtualBox 29 Docker社が出しているプロビジョニングツール。これを利用すると自分の PC環境からDockerをインストールしたサーバが作れます。 自分のPC クラウド事業者 A クラウド事業者 B Docker Machine

Slide 30

Slide 30 text

30 Docker環境が入ったサーバを簡単に構築できる Virtualboxや複数のクラウド事業者でも利用できる 複数の環境を一括で管理できる

Slide 31

Slide 31 text

31  Amazon Web Services  Microsoft Azure  Digital Ocean  Exoscale  Google Compute Engine  Generic  Microsoft Hyper-V  OpenStack  Rackspace  IBM Softlayer  Oracle VirtualBox  VMware vCloud Air  VMware Fusion  VMware vSphere

Slide 32

Slide 32 text

あれ? 32

Slide 33

Slide 33 text

「さくらのクラウド」が無い! 33

Slide 34

Slide 34 text

34 有志の方(@yamamoto_febc)さんが作成された「さくらのクラウド」用 Docker Machineプラグイン。

Slide 35

Slide 35 text

35 利用方法の詳細は、こちらのQiita記事が詳しいです http://qiita.com/yamamoto-febc/items/4aff7472fc1ea025db0a

Slide 36

Slide 36 text

36 Docker Machine SAKURA CLOUD Driverのインストール方法

Slide 37

Slide 37 text

37 Docker Toolboxをインストールします。 https://www.docker.com/docker-toolbox

Slide 38

Slide 38 text

Docker Client Docker Machine Docker Compose Docker Kitematic VirtualBox 38 Docker Toolboxを利用すると上記のソフトがインストールされます。 ただし、Windowsの場合32ビットだと動きません

Slide 39

Slide 39 text

39 Windowsの場合、ドライバのインストーラーがあるので「v0.0.7」をイン ストールする。 https://github.com/yamamoto-febc/docker-machine-sakuracloud/releases/download/v0.0.7/DockerMachineSakuracloudSetup.exe

Slide 40

Slide 40 text

40 コマンドプロンプトから「docker-machine -v」を叩くとDocker-machine のバージョンが表示される。バージョンが表示されれば「 Docker- machine 」はインストールされている。 docker-machine -v

Slide 41

Slide 41 text

41 「docker-machine create -d sakuracloud -h」を入力して、さくらのクラ ウド用のコマンドが出てきたら無事にインストールされている。 docker-machine create -d sakuracloud -h

Slide 42

Slide 42 text

42 「さくらのクラウド」の APIキーを取得する

Slide 43

Slide 43 text

43 「さくらのクラウド」の画面からAPIキーを追加し、「ACCESS TOKEN」と 「ACCESS TOKEN SECRET」の内容を控えておく。

Slide 44

Slide 44 text

■ docker-machine createコマンド → docker-machine経由でDockerが入ったDockerホストを作成する。 → docker-machine create –d[ドライバ名] で作成先を指定する ■ 「さくらのクラウド」で作成する場合 docker-machine create -d sakuracloud ¥ --sakuracloud-access-token=[ACCESS TOKEN] ¥ --sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] ¥ [ホスト名] → これでローカルから「さくらのクラウド」にDockerホストが作成できる 44

Slide 45

Slide 45 text

45 docker-machine ssh [マシン名] docker-machineで作成されたホストはSSHで接続できません、 「docker-machine ssh [ホスト名]」で接続できます。

Slide 46

Slide 46 text

46 docker-machine ls 「docker-machine ls」を入力すると、Docker-machineで作られたサーバ 一覧が表示されます。

Slide 47

Slide 47 text

47 docker-machine stop [マシン名] docker-machineコマンドで開始・停止・再起動ができます。 docker-machine start [マシン名] docker-machine restart [マシン名]

Slide 48

Slide 48 text

48 eval “$(docker-machine env [マシン名])" eval “$(docker-machine env [マシン名])”で、[マシン名]をactiveにする

Slide 49

Slide 49 text

49 docker-machine rm [マシン名] 「docker-machine rm」で作成したDockerホストを削除できます。

Slide 50

Slide 50 text

• Docker-machineを利用すると、ローカル複数 のクラウド環境にDockerが利用できて便利! 50

Slide 51

Slide 51 text

ご静聴ありがとうございました。 51