Transcript
(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
top related