質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

3回答

340閲覧

VirtualBoxの仮想化ソフトウェアよりDockerの仮想化上の方が軽快に動作する理由

退会済みユーザー

退会済みユーザー

総合スコア0

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2018/06/13 00:21

ホストOSの上にゲストOSを立てる際に、仮想化ソフトウェアを用いるばあい
掲題の通りVirtualBox上より、Docker上のほうが軽快です。

どのサイトを見ても、DockerはホストOS上のプロセス上でコンテナが動いているから早い
、BirtualBoxは仮想化ソフトウェアをはさんでいるから遅い、とか書いていません。

しかし、Dockerも仮想化ソフトウェアであり、
どちらもホストOSとゲストOSの間に仮想化ソフトをはさんでいるのには変わりありません。

なぜ、Dockerのほうが早いでしょうか。
既存の仮想化と比較して、理解している方、ご回答おまちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

仮想化のレベルが違う、のです。一言で言えば。

VirtualBox や VMWare は、ホストOS の上で動くエミュレーター(仮想マシン)が、ハードから何から全てエミュレーションしています。
※ Hyper-V のようなハイパーバイザ型だと、ホストOSもないですが……

これに対して Docker は、OS からハードに至るまでの部分は、ホスト OS と共用しています。
※ですので、ホストOS と違うOS を駆動させることはできません

なので重たい部分をエミュレーションしていない分、Docker の方が早くなります。

Docker は仮想化とは言っていますが、実質的には「sandbox」モデルだと個人的には思っています。

投稿2018/06/13 00:39

編集2018/06/13 00:47
tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/13 01:38

ご回答ありがとうございます。 >ホストOS と違うOS を駆動させることはできません とおっしゃいますが、Dockerイメージには様々なOSイメージがある認識です。 たとえば、CentOSだとかRedhatOSだとか。 すると、UnuntuOSの上でDockerを動かすとき、CentOSのイメージからコンテナは起動できないということですか。それとも、ユーザランドが異なるだけで、カーネルは同じだから動くということでしょうか。理由をご教授いただきたいです。
tacsheaven

2018/06/13 01:53

RedHat も CentOS も Ubuntuも、Linux という大きなくくりは一緒ですから、カーネルは同じように使えます。 ですからこの場合はコンテナは起動できます。 ※ついでに言えば、CentOS と RedHat は基本的に同じものになります OSカーネルが共用されると言うことは、「別バージョンのOSカーネルで動かすことはできない」ということでもあります。
退会済みユーザー

退会済みユーザー

2018/06/13 01:55

勉強になりました。
guest

0

わかりやすい図があったので、リンクします。

コレ1枚で分かる「仮想マシンとコンテナの違い」

なお、Linux以外のOSからDockerを動かそうとしても、DockerでOSは仮想化できませんので、「仮想マシンの中でDockerを動かす」必要が出てきます。

投稿2018/06/13 00:30

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/13 01:41

ご回答ありがとうございます。 図のほう、参考にします。
guest

0

超入門Docker:
第1回 Dockerとは(@IT)
の説明が判り易いと思いました。

投稿2018/06/13 00:45

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/13 01:42

ご回答ありがとうございます。 そちらのほう、既読済みです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問