コンテナは、軽量な仮想化技術です。これはQemuやVMwareのような完全仮想化に比べると、どちらかというと拡張されたchrootに似ています。なぜなら、コンテナはハードウェアをエミュレートしたりせず、ホストと同じOSを共有するからです。なのでコンテナは、SolarisのzoneやBSDのjailと比べて優れています。Linux-vserverとOpenVZの二つが、現在のところ既に存在している独立して実装されているLinux機能のコンテナ実装です。実はコンテナは、vserverとOpenVZの機能の上位互換を開発するための仕事の延長で登場しました。いくつかのvserverとOpenVZの機能は現在のコンテナではまだ実装されていませんが、コンテナは多くのLinuxディストリビューションを起動(boot)することができ、upstreamカーネルの変更なしで利用することができるという利点があります。
コンテナのユーザー領域の実装には、カーネルの同じ機能を利用した二つの方法があります。Libvirtは、「lxc:///」に接続してLXCドライバー経由でコンテナへのアクセスを許可します。この仕組みは他のドライバーと同じ使い方をサポートしているので、非常に使い勝手の良いものになるでしょう。もう一つのコンテナ実装は、単純に「LXC」と呼ばれるものです。これはlibvirtとは互換性はありませんが、より多くのユーザー領域ツールによってより柔軟に使うことができます。これは、少し混乱を生む特異な部分もありますが、二つのLXC間での入れ替えも可能になります。
このドキュメントでは主にlxcパッケージについて記述します。あとは、ドキュメントの最後の辺りにかけてlibvirt LXCドライバーについても記述します。
このドキュメントでは、コンテナの名前はCN、C1、そしてC2として説明します。