コンテナ仮想化

コンテナ仮想化

コンテナ仮想化とは

VirtualBox 等の仮想化はシステム上に別の仮想マシンをまるごと作成して、そこに別のOSやらをインストールして使うという形態。 ホストやVM間でリアルのハードウェアを共有して使うということになるだろう。

コンテナ仮想化は、ハードウェアレベルまで落ちず、OS の基本動作部分を共有し、その上のアプリケーションの部分を別個のマシンにあるかのように扱えるようにしたものになる。

VirtualBox 等のVMはハードウェアをベースにしているので、そのハードウェア上(例えば Intel CPU)で動作するシステムなら基本的になんでも使うことができる自由度が高い、しかし、OSまるごと個別に準備するので巨大で設定も多くなる。

コンテナ仮想化ではOSの動作部分は共有して、アプリの動作部分だけ分離して、しかしそれぞれが別々のマシン上にあるように扱えるようにした。マシン間でOSの基本動作部分を共有しているので、OS は全部共通のモノ(例えば Linux)を使う必要があり、その上で動かすコンテナの中身も共有しているOS上で動作することが前提になる、自由度は低い。その代わりコンテナの中身は動作するアプリケーションに特化されていてコンパクトで軽い。

VirtualBox のイメージファイルが1つ数GBになるのに、Docker のもととなるイメージは数十MB程度、VirtualBox で起動すると普通のOS起動と同じぐらいかかるが、コンテナの場合はOS根幹部分はもう立ち上がっているのでコンテナの起動は一瞬である。

vm/container/start.txt · 最終更新: 2019-03-01 18:52 by ore