コンテナ仮想化

提供:MonoBook

コンテナ仮想化とは、大雑把にいえば「OS仮想化」です。

vmwareHyper-Vなどではハードウェアが仮想化されますが、コンテナ型仮想化ではOSが仮想化され、「LinuxであればLinux」「FreeBSDであればFreeBSD」といった感じで「自分自身の分身のような仮想マシン」を即座に生み出すことができます。

コンテナ型仮想化はハードウェアの仮想化よりも圧倒的に軽いのが特徴です。 たとえばFreeBSD jailiOSにも採用されており、iOSでアプリを起動すると必ずjail内で実行されますが「アプリの起動が遅い」と感じることはほとんど無いと思います。そのくらい高速です。

ただし「Linux上でFreeBSDを動かしたい」といったことは基本的にできません。

主なコンテナ型仮想化[編集 | ソースを編集]

FreeBSD Jail[編集 | ソースを編集]

もともとはサーバーのセキュリティ向上のために開発されたものです。

FreeBSDに豪華なGUIを被せたiPhoneiOSに採用されていることでも有名です。 iOSではアプリインストールすると、全自動でFreeBSD Jailのコンテナが作られ、その中でアプリが実行されます。 この仕組みによりiOSアプリでは「できること」が制限されます。 また、この制限を突破することを「Jail break」「脱獄」と言います。 ちなみに*BSD界隈では「FreeBSD Jailは世界でもっとも「無意識に」使われているコンテナ仮想化だ」と主張しています。

Workload Partition[編集 | ソースを編集]

AIXWorkload Partitionは世界で一番最初のコンテナ仮想化らしいです。AIXは触ったことがないので知りません。

Solaris Containers[編集 | ソースを編集]

Solaris Containersは2004年に登場したSolaris 10に搭載された機能らしいです。二桁番台のSolarisについてはまったく知りません。


docker[編集 | ソースを編集]

dockerはLinuxのコンテナ仮想化です。それまでのサーバー向けコンテナ仮想化の世界には存在しなかった「Docker Hub」という「アプリストアみたいなもの」を提供したことで大流行しました。