Container Linux
Container Linuxは、ペイロードとなるアプリケーションを配布する方法としてパッケージマネージャーを提供せず、その代わりに、すべてのアプリケーションをコンテナー内で実行する必要がある。一つの制御ホストとして機能するContainer Linuxインスタンスは、そのベースとしてLinuxカーネルのOSレベル仮想化(英語版)の機能を使用することで、隔離されたLinuxシステムとして動作する複数のコンテナを作成・設定する。このようにして、Container Linuxでは、ハイパーバイザーや本格的な仮想マシンを提供するのではなく、複数の隔離されたユーザー空間(英語版)のインスタンスを用いることにより、コンテナ間のリソース(英語版)のパーティション分割を実現している。このアプローチはLinuxカーネルのcgroupsおよびnamespaces(英語版)の機能に依存しており、これらの機能は、ユーザー空間のプロセスに対して、リソース使用量(CPU、メモリ、ディスクI/Oなど)を制限、集計、隔離する機能を提供している。
当初、Container Linuxは、Dockerのみをコンポーネントとして使用して、抽象化とインターフェイスの追加レイヤをLinuxカーネルのOSレベル仮想化機能に提供し、異なる環境上でアプリケーションを実行可能にするコンテナ向けの標準化フォーマットを提供していた。