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.8k
分散SNSの歴史を雑にしゃべる
masatoshi
2
1.3k
さくらインターネットとマストドン
masatoshi
2
2.3k
マストドンを「さくらのクラウド」で素早く立ち上げる
masatoshi
0
630
さくらインターネットのIPv6対応状況について(Ver 九州インフラ交流勉強会(Kixs) Vol.004」)
masatoshi
0
640
「はじめて触るDocker入門」
masatoshi
1
500
Dockerに触ってみよう
masatoshi
2
3.8k
プレゼン初心者に ありがちな アンチパターン 野望篇
masatoshi
2
200
さくらインターネットのサービスを例にしたクラウドサービスの作り方
masatoshi
0
560
Other Decks in Technology
See All in Technology
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
12
4.5k
アジャイル開発とスクラム
araihara
0
160
君も受託系GISエンジニアにならないか
sudataka
2
370
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
360
SCSAから学ぶセキュリティ管理
masakamayama
0
140
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
500
10分で紹介するAmazon Bedrock利用時のセキュリティ対策 / 10-minutes introduction to security measures when using Amazon Bedrock
hideakiaoyagi
0
170
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
現場で役立つAPIデザイン
nagix
29
10k
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
240
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.7k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.2k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1367
200k
How GitHub (no longer) Works
holman
313
140k
Facilitating Awesome Meetings
lara
51
6.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
For a Future-Friendly Web
brad_frost
176
9.5k
Building Applications with DynamoDB
mza
93
6.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Writing Fast Ruby
sferik
628
61k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
400
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
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