Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「さくらのクラウド」を使って10分でできるDocker
Search
横田真俊(wslash)
May 14, 2016
Technology
0
390
「さくらのクラウド」を使って10分でできるDocker
OSC群馬でのセミナー資料となります。
横田真俊(wslash)
May 14, 2016
Tweet
Share
More Decks by 横田真俊(wslash)
See All by 横田真俊(wslash)
「ssmjpで喋ったことのない私が、ssmjpでプレゼンデビューするためのテクニックを話す」
masatoshi
1
3k
分散SNSの歴史を雑にしゃべる
masatoshi
2
1.5k
さくらインターネットとマストドン
masatoshi
2
2.5k
マストドンを「さくらのクラウド」で素早く立ち上げる
masatoshi
0
720
さくらインターネットのIPv6対応状況について(Ver 九州インフラ交流勉強会(Kixs) Vol.004」)
masatoshi
0
710
「はじめて触るDocker入門」
masatoshi
1
540
Dockerに触ってみよう
masatoshi
2
3.9k
プレゼン初心者に ありがちな アンチパターン 野望篇
masatoshi
2
230
さくらインターネットのサービスを例にしたクラウドサービスの作り方
masatoshi
0
630
Other Decks in Technology
See All in Technology
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
48k
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
620
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
AIにおける自由の追求
shujisado
3
470
mablでリグレッションテストをデイリー実行するまで #mablExperience
bengo4com
0
470
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
280
その設計、 本当に価値を生んでますか?
shimomura
2
180
AI駆動開発によるDDDの実践
dip_tech
PRO
0
290
Databricksによるエージェント構築
taka_aki
1
120
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
300
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.3k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Automating Front-end Workflow
addyosmani
1371
200k
The World Runs on Bad Software
bkeepers
PRO
72
12k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Visualization
eitanlees
150
16k
GitHub's CSS Performance
jonrohan
1032
470k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Context Engineering - Making Every Token Count
addyosmani
9
460
It's Worth the Effort
3n
187
29k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Transcript
(C)Copyright 1996-2014 SAKURA Internet Inc. さくらインターネット 横田真俊(@wslash) 2016/05/14
2 氏名 横田真俊(@Wslash) 「さくらのクラウド」の企画担当 兼 エバンジェリストをやっております 年に50回程度の講演・ハンズオンを 行っております 左のアイコンで、ツイッターを やっていますのでお気軽に
お声がけください
3 Amazon EC2/S3 入門 今は、さくらのクラウド企画担当 をやっていますが、昔はこんな本 を書いていました
4 ツイッターやFacebookなど ソーシャルメディアの本 を5冊ほど書いてます
Dockerを利用すると コマンド一発で色々なソフトの 検証ができるよ! 5
(C)Copyright 1996-2014 SAKURA Internet Inc.
7 ホストOSの上で「仮想化ソフト」を動かすタイプ ホストOSとアプリを共存できるのでPCからの個人利用の形 で多いが、ホストの負荷が大きい ホスト形仮想化ソフト (VirtualBOXなど) OS (1) OS(2) OS(3)
アプリ アプリ アプリ ホストOS(Windows/Linuxなど) アプリ
8 ホストOSの代わりに「ハイパーバイザー」が仮想サーバを 制御する。ホストサーバ全体を仮想化で利用するため、ホス トOSを経由しないためホストOS型よりレスポンスが良い ハイパーバイザー (VMWareなど) OS (1) OS(2) OS(3)
アプリ アプリ アプリ
9 OSの代わりに各コンテナがアプリを稼動させます。今まで より一番ホストマシンの処理負荷が低い コンテナ管理ソフトウェア (Dockerなど) コンテナ(1) コンテナ(2) コンテナ(3) アプリ アプリ
アプリ ホストOS(Linux) アプリ
• 処理速度が速い → OSやハードウェアを仮想化していないためオーバーヘッド が少なく処理能力が早い • メモリやディスクの消費量をおさえられる → それぞれにカーネルを持たないためメモリ/ディスクの 消費量をおさえられる。
• ポータビリティ → 環境を意識せず使える 10
11 何がうれしいのか?
▪検証・使い捨て環境がすぐに使える → 「低コスト」かつ「コマンド1発」で利用できる。 ▪環境の統一化 → 開発・運用・ステージングと色々な「環境」を用意せずに コンテナに統一できる。 ▪クラウド時代のバズワードが手軽に実現 → イミュータブル、オートスケーリング
etc… 12
(C)Copyright 1996-2014 SAKURA Internet Inc.
14 今回はCentOS 7系でインストールします 今日の資料は別途、公開いたします 2万円クーポンを配るのでそれで復習できます
15 「curl -sSL https://get.docker.com/ | sh」とコマンドを入れるとDocker のインストールがはじまります。 curl -sSL https://get.docker.com/
| sh
16 「systemctl start docker」とコマンドを入れるとDockerが動きます systemctl start docker
17 「docker version」と入力してDockerのバージョンが表示されれば、 Dockerが正常にインストールされています。 docker version
18 コンテナを起動する「docker run」
▪docker run コマンド → 指定したイメージのコンテナを起動する ▪構文 → docker run イメージ
[オプション][コマンド][引数] ▪オプション → -d バックグランドで実行 → -i コンテナの標準入力を開く → -t ttyを確保する → -p ポートフォワード 19
20 ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。 上記のコマンドを入力してください。 docker run hello-world
21 「hello world」の入力が終わると、上記のような画面が表示されます。
22 これだけではつまらないので アプリを入れてみましょう
23 「Ghost」は最近、人気が出ているNode.js製の軽量ブログエンジンです。 今回はDockerを利用して、コマンド1発でインストールします。
• Node.jsとnpm • ApacheとかのWebサーバ • その他、色々 24 「Ghost」をインストールして利用するには上記のような物を色々とインス トールする必要があり面倒です。
25 Ghostを80番ポートで利用できるようにします。元々Ghostは2368番ポート で動いているので80番ポートとマッピングさせます。 docker run -p 80:2368 -d ghost
26 インストールが終わったら「(IPアドレス)」をブラウザで入力してください。 上記のような「画面」が表示されます。「(IPアドレス)/admin」でGhostの セットができます。
27 起動を確認したら、このコンテナを止めてみましょう。コンテナの止め方は 「docker stop (コンテナのID)」で止りますので「docker ps」でコンテナ IDを調べます。 docker ps
28 「docker ps」を入力して「CONTANER ID」を確認する。
29 「docker stop (コンテナのID)」を入力すると、ghostのコンテナが止りま す。(先ほどの例だと07a4e04f6418となります。) docker stop (CONTANER ID)
30 Docker Compose
31 Docker Composeは、複数のコンテナか ら構成するサービスを従来よりも簡単に 構築できるツールです。 従来はコンテナを作成するには、いちい ち「docker run」しなければならなかっ たのが、コマンド1発で複数のコンテナ を利用したサービスを構築できます。
32 Docker Composeを利用して Zabbix 3.0の環境を構築する
33 上記のコマンドを入力して、Docker Composeのバイナリをセットする curl -L https://github.com/docker/compose/releases/down load/1.6.2/docker-compose-`uname -s`-`uname -m` >
/usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
34 「docker-compose version」を入力すると、Docker composeのバージョ ンが表示される、正しくインストールされれば、このコマンドでバージョン 情報が表示される。 docker-compose version
35 本来であれば、作業用のディレクトリの中に「docker-compose.yaml」を 用意する必要があるのですが、今回は事前に私の方で作成したので、そちら をクローンしてください。クローンが終わったら「zabbix3」に移動します。 git clone https://github.com/wslash/zabbix3.git cd zabbix3
36 先ほど作成したディレクトリ「zabbix3」の中で「docker-compose pull」 を入力。Zabbixに必要なイメージをダウンロードします。 docker-compose pull
37 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。 docker images
38 エラーが出ていなければ「docker images」を入力して「zabbix-3.0」と 「zabbix-db-mariadb」のイメージが取得できているか確認をする。
39 イメージを取得できていれば「docker-compose up -d」を入力してZabbix 起動に必要な複数のコンテナを立ち上げます。 docker-compose up -d
40 「docker-compose up -d」でコンテナを立ち上げた後「docker ps」で、 正常に動作しているか確認する。 docker ps
41 正常に動作していれば、ブラウザにサーバのIPアドレスを入力すれば、Zabbix のロ グイン画面が表示されます。ID: Admin 、 Password: zabbix でログインした後、パス ワードを変更してください。
DockerとDocker Composeを利用すると、 すぐに検証環境が利用できて便利 42
43 前佛さんがQiitaに書かれている「Zabbix 3.0をDocker Composeで一度に実行する方 法」が詳しいので、そちらもご確認ください。 http://qiita.com/zembutsu/items/686b99be90d72688aee8
ご静聴ありがとうございました。 さくらインターネットのブースでは 「さくらのクラウド 2万円クーポン」を配布しております。 ぜひブースにお越し下さい 44