コンテナ仮想化
vmwareやHyper-Vなどではハードウェアが仮想化されますが、コンテナ型仮想化ではOSが仮想化され、「LinuxであればLinux」「FreeBSDであればFreeBSD」といった感じで「自分自身の分身のような仮想マシン」を即座に生み出すことができます。
コンテナ型仮想化はハードウェアの仮想化よりも圧倒的に軽いのが特徴です。 たとえばFreeBSD jailはiOSにも採用されており、iOSでアプリを起動すると必ずjail内で実行されますが「アプリの起動が遅い」と感じることはほとんど無いと思います。そのくらい高速です。
ただし「Linux上でFreeBSDを動かしたい」といったことは基本的にできません。
主なコンテナ型仮想化[編集 | ソースを編集]
FreeBSD Jail[編集 | ソースを編集]
もともとはサーバーのセキュリティ向上のために開発されたものです。
FreeBSDに豪華なGUIを被せたiPhoneのiOSに採用されていることでも有名です。 iOSではアプリをインストールすると、全自動でFreeBSD Jailのコンテナが作られ、その中でアプリが実行されます。 この仕組みによりiOSアプリでは「できること」が制限されます。 また、この制限を突破することを「Jail break」「脱獄」と言います。 ちなみに*BSD界隈では「FreeBSD Jailは世界でもっとも「無意識に」使われているコンテナ仮想化だ」と主張しています。
Workload Partition[編集 | ソースを編集]
AIXのWorkload Partitionは世界で一番最初のコンテナ仮想化らしいです。AIXは触ったことがないので知りません。
Solaris Containers[編集 | ソースを編集]
Solaris Containersは2004年に登場したSolaris 10に搭載された機能らしいです。二桁番台のSolarisについてはまったく知りません。
docker[編集 | ソースを編集]
dockerはLinuxのコンテナ仮想化です。それまでのサーバー向けコンテナ仮想化の世界には存在しなかった「Docker Hub」という「アプリストアみたいなもの」を提供したことで大流行しました。