Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker Machineを使ってみよう
Search
横田真俊(wslash)
January 23, 2016
Technology
0
1.5k
Docker Machineを使ってみよう
Docker Machineで「さくらのクラウド」を動かす手順をご紹介いたします。
横田真俊(wslash)
January 23, 2016
Tweet
Share
More Decks by 横田真俊(wslash)
See All by 横田真俊(wslash)
「ssmjpで喋ったことのない私が、ssmjpでプレゼンデビューするためのテクニックを話す」
masatoshi
1
2.9k
分散SNSの歴史を雑にしゃべる
masatoshi
2
1.4k
さくらインターネットとマストドン
masatoshi
2
2.4k
マストドンを「さくらのクラウド」で素早く立ち上げる
masatoshi
0
700
さくらインターネットのIPv6対応状況について(Ver 九州インフラ交流勉強会(Kixs) Vol.004」)
masatoshi
0
690
「はじめて触るDocker入門」
masatoshi
1
530
Dockerに触ってみよう
masatoshi
2
3.9k
プレゼン初心者に ありがちな アンチパターン 野望篇
masatoshi
2
220
さくらインターネットのサービスを例にしたクラウドサービスの作り方
masatoshi
0
610
Other Decks in Technology
See All in Technology
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
310
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
270
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
440
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
1
250
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
2k
iPhone Eye Tracking機能から学ぶやさしいアクセシビリティ
fujiyamaorange
0
260
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
110
Agile PBL at New Grads Trainings
kawaguti
PRO
1
110
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
440
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
100
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
440
個人CLAUDE.md紹介と設定から学んだこと/introduce-my-claude-md
shibayu36
0
170
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Automating Front-end Workflow
addyosmani
1370
200k
How to train your dragon (web standard)
notwaldorf
96
6.2k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Thoughts on Productivity
jonyablonski
69
4.8k
Faster Mobile Websites
deanohume
309
31k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
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