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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
横田真俊(wslash)
January 23, 2016
Technology
1.5k
0
Share
Docker Machineを使ってみよう
Docker Machineで「さくらのクラウド」を動かす手順をご紹介いたします。
横田真俊(wslash)
January 23, 2016
More Decks by 横田真俊(wslash)
See All by 横田真俊(wslash)
「ssmjpで喋ったことのない私が、ssmjpでプレゼンデビューするためのテクニックを話す」
masatoshi
1
3.1k
分散SNSの歴史を雑にしゃべる
masatoshi
2
1.5k
さくらインターネットとマストドン
masatoshi
2
2.6k
マストドンを「さくらのクラウド」で素早く立ち上げる
masatoshi
0
850
さくらインターネットのIPv6対応状況について(Ver 九州インフラ交流勉強会(Kixs) Vol.004」)
masatoshi
0
740
「はじめて触るDocker入門」
masatoshi
1
570
Dockerに触ってみよう
masatoshi
2
4k
プレゼン初心者に ありがちな アンチパターン 野望篇
masatoshi
2
250
さくらインターネットのサービスを例にしたクラウドサービスの作り方
masatoshi
0
660
Other Decks in Technology
See All in Technology
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
180
eBPF Can Do It! A 5-Minute Tour of 5 Real-World PHP Issues Solved with eBPF
egmc
0
180
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
280
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
3
430
Claude Code x Accounting
kawaguti
PRO
1
320
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
240
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
180
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
590
Node.js+TypeScriptにおけるCJS/ESM相互運用の最新ポイント
grainrigi
2
120
テストコードのないプロジェクトにテストを根付かせる
tttol
0
160
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
5
490
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
3
2.4k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
410
Are puppies a ranking factor?
jonoalderson
1
3.4k
Producing Creativity
orderedlist
PRO
348
40k
KATA
mclloyd
PRO
35
15k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Embracing the Ebb and Flow
colly
88
5k
Building AI with AI
inesmontani
PRO
1
1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
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