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
3k
分散SNSの歴史を雑にしゃべる
masatoshi
2
1.5k
さくらインターネットとマストドン
masatoshi
2
2.4k
マストドンを「さくらのクラウド」で素早く立ち上げる
masatoshi
0
710
さくらインターネットのIPv6対応状況について(Ver 九州インフラ交流勉強会(Kixs) Vol.004」)
masatoshi
0
710
「はじめて触るDocker入門」
masatoshi
1
540
Dockerに触ってみよう
masatoshi
2
3.9k
プレゼン初心者に ありがちな アンチパターン 野望篇
masatoshi
2
230
さくらインターネットのサービスを例にしたクラウドサービスの作り方
masatoshi
0
620
Other Decks in Technology
See All in Technology
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
emiki
0
110
メタプログラミングRuby読書会の活用
willnet
0
110
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
25
17k
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
0
120
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
250
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
1
180
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
10
8.3k
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
kenichirokimura
1
120
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
6
2.4k
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
340
サブドメインテイクオーバー事例紹介と対策について
mikit
15
7.4k
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.5k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Building an army of robots
kneath
306
46k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Done Done
chrislema
186
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
270
The World Runs on Bad Software
bkeepers
PRO
72
11k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Statistics for Hackers
jakevdp
799
220k
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