(C)Copyright 1996-2014 SAKURA Internet Inc.
さくらインターネット
横田真俊(@wslash)
2016/01/22
2
氏名
横田真俊(@Wslash)
「さくらのクラウド」の企画担当を
やっております
年に50回程度の講演・ハンズオンを
行っております
左のアイコンで、ツイッターを
やっていますのでお気軽に
お声がけください
3
Amazon EC2/S3 入門
今は、さくらのクラウド企画担当
をやっていますが、昔はこんな本
を書いていました
4
ツイッターやFacebookなど
ソーシャルメディアの本
を5冊ほど書いてます
「DockerとDocker Machineをインス
トールして利用ができるようになる」
のが目標
5
6
Dockerの特徴を再復習すると同時に、とりあえず動かして
みます。
Docker Machineのインストールと、動かし方をデモで紹介
します
2万円分の無償クーポンを配布します。無料で本日の復習が
可能です
(C)Copyright 1996-2014 SAKURA Internet Inc.
8
ホストOSの上で「仮想化ソフト」を動かすタイプ
ホストOSとアプリを共存できるのでPCからの個人利用の形
で多いが、ホストの負荷が大きい
ホスト形仮想化ソフト
(VirtualBOXなど)
OS (1) OS(2) OS(3)
アプリ アプリ アプリ
ホストOS(Windows/Linuxなど)
アプリ
9
ホストOSの代わりに「ハイパーバイザー」が仮想サーバを
制御する。ホストサーバ全体を仮想化で利用するため、ホス
トOSを経由しないためホストOS型よりレスポンスが良い
ハイパーバイザー
(VMWareなど)
OS (1) OS(2) OS(3)
アプリ アプリ アプリ
10
OSの代わりに各コンテナがアプリを稼動させます。今まで
より一番ホストマシンの処理負荷が低い
コンテナ管理ソフトウェア
(Dockerなど)
コンテナ(1) コンテナ(2) コンテナ(3)
アプリ アプリ アプリ
ホストOS(Linux)
アプリ
• 処理速度が速い
→ OSやハードウェアを仮想化していないためオーバーヘッド
が少なく処理能力が早い
• メモリやディスクの消費量をおさえられる
→ それぞれにカーネルを持たないためメモリ/ディスクの
消費量をおさえられる。
• ポータビリティ
→ 環境を意識せず使える
11
12
何がうれしいのか?
■検証・使い捨て環境がすぐに使える
→ 「低コスト」かつ「コマンド1発」で利用できる。
■環境の統一化
→ 開発・運用・ステージングと色々な「環境」を用意せずに
コンテナに統一できる。
■クラウド時代のバズワードが手軽に実現
→ イミュータブル、オートスケーリング etc…
13
(C)Copyright 1996-2014 SAKURA Internet Inc.
15
今回はCentOS 6系でインストールします
今日の資料は別途、公開いたします
2万円クーポンを配るのでそれで復習できます
16
「yum install docker-io」とコマンドを入れるとDockerのインストールが
はじまります。色々と聞かれますが、とりあえず「y」を入力してください。
yum install docker-io
17
「service docker start」とコマンドを入れるとDockerが動きます
service docker start
18
「docker version」と入力してDockerのバージョンが表示されれば、
Dockerが正常にインストールされています。
docker version
19
コンテナを起動する「docker run」
■docker run コマンド
→ 指定したイメージのコンテナを起動する
■構文
→ docker run イメージ [オプション][コマンド][引数]
■オプション
→ -d バックグランドで実行
→ -i コンテナの標準入力を開く
→ -t ttyを確保する
→ -p ポートフォワード
20
21
ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。
上記のコマンドを入力してください。
docker run hello-world
22
「hello world」の入力が終わると「docker run –it ubuntu bash」を試し
てみろ、と言われているので、これを入力してみましょう。
23
これだけではつまらないので
アプリを入れてみましょう
24
「Ghost」は最近、人気が出ているNode.js製の軽量ブログエンジンです。
今回はDockerを利用して、コマンド1発でインストールします。
• Node.jsとnpm
• ApacheとかのWebサーバ
• SQLite、MySQLなどのデータベース
25
「Ghost」をインストールして利用するには上記のような物を色々とインス
トールする必要があり面倒です。
26
Ghostを80番ポートで利用できるようにします。元々Ghostは2368番ポート
で動いているので80番ポートとマッピングさせます。
docker run -p 80:2368 -d ghost
27
インストールが終わったら「(IPアドレス)」をブラウザで入力してください。
上記のような「画面」が表示されます。
28
Docker Machine
VirtualBox
29
Docker社が出しているプロビジョニングツール。これを利用すると自分の
PC環境からDockerをインストールしたサーバが作れます。
自分のPC
クラウド事業者 A
クラウド事業者 B
Docker Machine
30
Docker環境が入ったサーバを簡単に構築できる
Virtualboxや複数のクラウド事業者でも利用できる
複数の環境を一括で管理できる
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
あれ?
32
「さくらのクラウド」が無い!
33
34
有志の方(@yamamoto_febc)さんが作成された「さくらのクラウド」用
Docker Machineプラグイン。
35
利用方法の詳細は、こちらのQiita記事が詳しいです
http://qiita.com/yamamoto-febc/items/4aff7472fc1ea025db0a
36
Docker Machine SAKURA CLOUD
Driverのインストール方法
37
Docker Toolboxをインストールします。
https://www.docker.com/docker-toolbox
Docker Client
Docker Machine
Docker Compose
Docker Kitematic
VirtualBox
38
Docker Toolboxを利用すると上記のソフトがインストールされます。
ただし、Windowsの場合32ビットだと動きません
39
Windowsの場合、ドライバのインストーラーがあるので「v0.0.7」をイン
ストールする。
https://github.com/yamamoto-febc/docker-machine-sakuracloud/releases/download/v0.0.7/DockerMachineSakuracloudSetup.exe
40
コマンドプロンプトから「docker-machine -v」を叩くとDocker-machine
のバージョンが表示される。バージョンが表示されれば「 Docker-
machine 」はインストールされている。
docker-machine -v
41
「docker-machine create -d sakuracloud -h」を入力して、さくらのクラ
ウド用のコマンドが出てきたら無事にインストールされている。
docker-machine create -d sakuracloud -h
42
「さくらのクラウド」の
APIキーを取得する
43
「さくらのクラウド」の画面からAPIキーを追加し、「ACCESS TOKEN」と
「ACCESS TOKEN SECRET」の内容を控えておく。
■ 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
45
docker-machine ssh [マシン名]
docker-machineで作成されたホストはSSHで接続できません、
「docker-machine ssh [ホスト名]」で接続できます。
46
docker-machine ls
「docker-machine ls」を入力すると、Docker-machineで作られたサーバ
一覧が表示されます。
47
docker-machine stop [マシン名]
docker-machineコマンドで開始・停止・再起動ができます。
docker-machine start [マシン名]
docker-machine restart [マシン名]
48
eval “$(docker-machine env [マシン名])"
eval “$(docker-machine env [マシン名])”で、[マシン名]をactiveにする
49
docker-machine rm [マシン名]
「docker-machine rm」で作成したDockerホストを削除できます。
• Docker-machineを利用すると、ローカル複数
のクラウド環境にDockerが利用できて便利!
50
ご静聴ありがとうございました。
51

Docker Machineを使ってみよう