SlideShare a Scribd company logo
1 of 52
何者
(Dockerって)
2017/2/19
コイツ→
おまえは何者
おなまえ:佐伯紘二(さいきこうじ)
ところ:福岡
つぶやき:https://twitter.com/saikou9901
はぶ:https://github.com/kojisaiki
ぶろぐ:http://irony9901.hatenablog.com/
今回の対象者
Dockerを知らない人
名前は知ってるけどよく理解できていない人
今回の目的
Dockerの仕組み、ニーズをふわっと把握する
Docker入門のハードルを下げる
前置き
コマンドや実行例などの詳細はなし。
詳しく知りたい方は、書籍や解説サイト等で・・・
曰く、Dockerとは
「コンテナ型仮想化」
仮想化の種類
プロセスリソース比較
ディスク資源比較
Dockerの概要
仮想化の種類
プロセスリソース比較
ディスク資源比較
Dockerの概要
仮想化の種類
ホスト型
ハイパーバイザ型
コンテナ型
仮想化の種類
ホスト型
ハイパーバイザ型
コンテナ型 ←new!
ホスト型
製品:VMware Player, VirtualBox(+Vagrant)・・・
ハードウェア
ホストOS
ハイパーバイザ
ゲストOS ゲストOS ゲストOS
アプリ アプリ アプリ
ハイパーバイザ型
製品:VMware ESXi, Microsoft Hyper-V・・・
ハードウェア
ハイパーバイザ
管理OS ゲストOS ゲストOS
アプリ アプリ アプリ
コンテナ型
製品:Docker(+Herokuの中身)
ハードウェア
ホストOS
アプリ アプリ アプリ
コンテナ管理ソフトウェア
ゲストOS ゲストOS ゲストOS
コンテナ型の特徴
★ホストOSの上に導入できる(ハイパーバイザよりお手軽)
★アプリからハードウェアまでの”距離”がホスト型よりも近い
ホスト型 コンテナ型 ハイパーバイザ型
仮想化の種類
プロセスリソース比較
ディスク資源比較
Dockerの概要
仮想環境部分に注目
ホスト型(※ハイパーバイザ型) コンテナ型
ハードウェア
ホストOS
アプリ アプリ アプリ
コンテナ管理ソフトウェア
ゲストOS ゲストOS ゲストOS
ハードウェア
ホストOS
ハイパーバイザ
ゲストOS ゲストOS ゲストOS
アプリ アプリ アプリ
※ハイパーバイザより上は、ホスト型もハイパーバイザ型
も一緒
仮想環境毎に動作しているプロセス
ホスト型・ハイパーバイザ型 コンテナ型
仮想環境毎に動作しているプロセス
ホスト型・ハイパーバイザ型 コンテナ型
★ゲストOSのプロセス
・カーネル
・システムメトリクス
・ユーザ
・スケジューラ
・etc ...
仮想環境毎に動作しているプロセス
ホスト型・ハイパーバイザ型 コンテナ型
★ゲストOSのプロセス
・カーネル
・システムメトリクス
・ユーザ
・スケジューラ
・etc ...
★各アプリケーション
仮想環境毎に動作しているプロセス
ホスト型・ハイパーバイザ型 コンテナ型
★ゲストOSのプロセス
・カーネル
・システムメトリクス
・ユーザ
・スケジューラ
・etc ...
★各アプリケーション
★各アプリケーション
仮想環境毎に動作しているプロセス
ホスト型・ハイパーバイザ型 コンテナ型
★ゲストOSのプロセス
・カーネル
・システムメトリクス
・ユーザ
・スケジューラ
・etc ...
★各アプリケーション
★各アプリケーション
だけ。
どういうこと?
Dockerとは、つまるところ
どういうこと?
Dockerとは、つまるところ
「ホストのCentOS上で、
”あたかもUbuntu上で動作しているかのようなApacheプロセス”
を実行する」
ためのツール(上記OS、アプリは一例)。
どういうこと?
Dockerとは、つまるところ
「ホストのCentOS上で、
”あたかもUbuntu上で動作しているかのようなApacheプロセス”
を実行する」
ためのツール(上記OS、アプリは一例)。
しかも省エネで。
仮想環境として動作しているプロセス
ホスト型(※ハイパーバイザ型) コンテナ型
ハードウェア
ホストOS
アプリ アプリ アプリ
コンテナ管理ソフトウェア
ゲストOS ゲストOS ゲストOS
ハードウェア
ホストOS
ハイパーバイザ
ゲストOS ゲストOS ゲストOS
アプリ アプリ アプリ
必要なプロセスリソース
ホスト型(※ハイパーバイザ型) コンテナ型
※ゲストOSのプロセスは無い
アプリ アプリ アプリ
ゲストOS ゲストOS ゲストOS
アプリ アプリ アプリ
(OS+アプリ)×仮想環境の数 アプリ×仮想環境の数
必要なプロセスリソース
ホスト型(※ハイパーバイザ型) コンテナ型
アプリ アプリ アプリ
ゲストOS ゲストOS ゲストOS
アプリ アプリ アプリ
(OS+アプリ)×仮想環境の数 アプリ×仮想環境の数
OSなしでどうやって動くの?
仮想化の種類
プロセスリソース比較
ディスク資源比較
Dockerの概要
必要なディスク資源(Linuxのみ)
ホスト型(※ハイパーバイザ型) コンテナ型
Linuxカーネル
Linux
カーネル
アプリ アプリ アプリ
ディストリビ
ューション
Linux
カーネル
ディストリビ
ューション
Linux
カーネル
ディストリビ
ューション
ディストリビューション
必要なディスク資源(Linuxのみ)
ホスト型(※ハイパーバイザ型) コンテナ型
Linuxカーネル
Linux
カーネル
アプリ アプリ アプリ
ディストリビ
ューション
Linux
カーネル
ディストリビ
ューション
Linux
カーネル
ディストリビ
ューション
ディストリビューション
Linuxカーネル
アプリ アプリ アプリ
ディストリビ
ューション
ディストリビ
ューション
ディストリビ
ューション
ディストリビューション
仮想化の種類
プロセスリソース比較
ディスク資源比較
Dockerの概要
Dockerの概要
ホストのLinuxカーネルを利用し、ディストリビューション・アプリなど最低限
のファイルだけを用いて、ゲストのアプリプロセスを実行するツールである。
ホストLinuxカーネル
(+Dockerプログラム)
アプリ
ゲスト
ディストリ
ビューション
ホスト
ディストリ
ビューション
ゲスト
アプリ
プロセス
これが
コンテナ
Dockerの概要
ホストのLinuxカーネルを利用し、ディストリビューション・アプリなど最低限
のファイルだけを用いて、ゲストのアプリプロセスを実行するツールである。
ホストLinuxカーネル
(+Dockerプログラム)
アプリ
ゲスト
ディストリ
ビューション
ホスト
ディストリ
ビューション
ゲスト
アプリ
プロセス
ホストのLinuxカーネルを利用し、ディストリビューション・アプリなど最低限
のファイルだけを用いて、ゲストのアプリプロセスを実行するツールである。
Dockerの概要
ホストLinuxカーネル
(+Dockerプログラム)
アプリ
ゲスト
ディストリ
ビューション
ホスト
ディストリ
ビューション
ゲスト
アプリ
プロセス
あれ?
Dockerだけ使うなら
こいついらんくね?
ホストのLinuxカーネルを利用し、ディストリビューション・アプリなど最低限
のファイルだけを用いて、ゲストのアプリプロセスを実行するツールである。
Dockerの概要
ホストLinuxカーネル
(+Dockerプログラム)
アプリ
ゲスト
ディストリ
ビューション
ゲスト
アプリ
プロセス
あれ?
Dockerだけ使うなら
こいついらんくね?
Dockerの概要
既存のコア系Linuxディストリビューションで運用すればコンパクト。
★CoreOS:https://coreos.com/
コンテナ型仮想化を利用するために作られたLinuxディストリビューションもある。
★boot2docker:http://boot2docker.io/
★Ubuntu Core:https://www.ubuntu.com/core
Dockerで盛り上がるLinux・・・
Dockerで盛り上がるLinux・・・
WindowsでもDocker!
Windows Server 2016(と Windows10 Anniversary Update以降)から、
Dockerが使えるようになった!
方式は似ているので
今回は割愛します
・・・
・・・macOSは?
・・・macOSは?
macOSの場合(Win7以前も同様)
「macOSのコンテナ」はない。(macOSはLinuxでなく”BSD”)
ホスト型仮想化でLinux系OSを搭載し、その中で利用する。
Windows7/macOS
VirtualBoxなど
Linux系OS+Docker
コンテナ コンテナ コンテナ
ホストOS上から操作をしやすくするため「docker-machine
(https://docs.docker.com/machine/)」というツールがある。
Windows7/macOS
VirtualBoxなど
Linux系OS+Docker
コンテナ コンテナ コンテナ
macOSの場合(Win7以前も同様)
まとめ
Dockerとは
★あたかも別のマシンで動作しているかのような”プロセス”を、”ホストOS上で”
実行するツールである。
Dockerの注意点
★これまでの仮想化技術をすべて代替するものではない。
★本番環境では、次の点を考慮して適用範囲を検討すること。
❏OSプロセスが存在しない(もちろんウィンドウシステムなどない)
❏Windows Server 2012以前は使用できない
❏コンテナ仮想化ならではの運用管理に注意(コンテナイメージの管理、デー
タ永続化)
補足
Dockerは「仮想化技術」と言えるのか?
中の人曰く、
「”仮想化技術”ではなく”アプリケーション配置技術”である」
とも。
参考:https://blog.docker.com/2016/03/containers-are-not-vms/
おわり 佐伯紘二
2017/2/19

More Related Content

Similar to 何者 (Docker って)

鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解Masahito Zembutsu
 
20191120 beyondstudy#21 teraoka
20191120 beyondstudy#21 teraoka20191120 beyondstudy#21 teraoka
20191120 beyondstudy#21 teraokabeyond Co., Ltd.
 
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話Tomoya Kita
 
Docker地雷n本勝負
Docker地雷n本勝負Docker地雷n本勝負
Docker地雷n本勝負RyutaKoide
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門KokiMakita1
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみようRyo Adachi
 
Rails on Dockerとの戦い
Rails on Dockerとの戦いRails on Dockerとの戦い
Rails on Dockerとの戦いYasutomo Uemori
 
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合ったAngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合ったpastelInc
 
2150117 infrastructure.nagoya
2150117 infrastructure.nagoya2150117 infrastructure.nagoya
2150117 infrastructure.nagoyaHiroki Ito
 
自作アプリをデプロイしてみた with Docker
自作アプリをデプロイしてみた with Docker自作アプリをデプロイしてみた with Docker
自作アプリをデプロイしてみた with DockeriPride Co., Ltd.
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GAMasahito Zembutsu
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker雄哉 吉田
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 updateShiojiri Ohhara
 
どっかのしたのほう
どっかのしたのほうどっかのしたのほう
どっかのしたのほう_norin_
 
dokku を本番環境で使ってみた話
dokku を本番環境で使ってみた話dokku を本番環境で使ってみた話
dokku を本番環境で使ってみた話Kazuhiro Nishiyama
 
年納めにDockerやろうず
年納めにDockerやろうず年納めにDockerやろうず
年納めにDockerやろうずKeita Neriai
 

Similar to 何者 (Docker って) (20)

鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
20191120 beyondstudy#21 teraoka
20191120 beyondstudy#21 teraoka20191120 beyondstudy#21 teraoka
20191120 beyondstudy#21 teraoka
 
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
 
Docker地雷n本勝負
Docker地雷n本勝負Docker地雷n本勝負
Docker地雷n本勝負
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみよう
 
Rails on Dockerとの戦い
Rails on Dockerとの戦いRails on Dockerとの戦い
Rails on Dockerとの戦い
 
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合ったAngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
 
Dockerを社内で使うために
Dockerを社内で使うためにDockerを社内で使うために
Dockerを社内で使うために
 
2150117 infrastructure.nagoya
2150117 infrastructure.nagoya2150117 infrastructure.nagoya
2150117 infrastructure.nagoya
 
自作アプリをデプロイしてみた with Docker
自作アプリをデプロイしてみた with Docker自作アプリをデプロイしてみた with Docker
自作アプリをデプロイしてみた with Docker
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
どっかのしたのほう
どっかのしたのほうどっかのしたのほう
どっかのしたのほう
 
dokku を本番環境で使ってみた話
dokku を本番環境で使ってみた話dokku を本番環境で使ってみた話
dokku を本番環境で使ってみた話
 
年納めにDockerやろうず
年納めにDockerやろうず年納めにDockerやろうず
年納めにDockerやろうず
 

何者 (Docker って)