トップQs
タイムライン
チャット
視点
OSレベルの仮想化
ウィキペディアから
Remove ads
OSレベルの仮想化(英:OS-level virtualization)とは、オペレーティングシステム(OS)の枠組みで、コンテナ(LXC、Solaris containers、Docker、Podman)、zones(Solaris containers)、virtual private servers(OpenVZ)、パーティション、仮想環境(VEs)、仮想カーネル(DragonFly BSD)、jails(FreeBSD jailまたはchroot jail)[1]と呼ばれる、複数の分離したユーザー空間インスタンスをカーネルによって割り当てる。このようなインスタンスはその中で実行されているプログラムからの視点では実際のコンピュータのように見えることがある。通常のOS上で動作するコンピュータプログラムは、そのコンピュータのすべての資源(接続されているデバイス、ファイルやフォルダ、ネットワーク共有、CPU性能、定量化できるハードウェア能力)を見ることができる。しかし、コンテナ内で動作するプログラムは、コンテナの内部とコンテナに割り当てられたデバイスしか見ることができない。
Unix系OSではこの機能は現在実行中のプロセスとその子プロセスの見かけ上のルートフォルダを変更する、標準的なchrootメカニズムの高度な実装と見なすことができる。カーネルはしばしばアイソレーションメカニズムに加えて、あるコンテナの活動が他のコンテナに与える影響を制限するための資源管理機能を提供する。Linuxコンテナは、Linuxカーネルが提供する仮想化、アイソレーション、資源管理のメカニズム、特にLinux名前空間と cgroupsをベースにしている[2]。
コンテナという用語は、OSレベルの仮想化システムを指すのが一般的だが、MicrosoftのHyper-Vコンテナのように、ホストOSとさまざまなレベルで協調して動作する完全な仮想マシン環境を指すのにも多義的に使用されることがある。
Remove ads
実装
要約
視点
上記以外のLinuxコンテナには以下のようなものがある。
- LXD, Canonicalによって開発されたLXCの代替ラッパー[38]。
- Podman[39]: Dockerのドロップイン代替品
- Charliecloud: HPCシステムで使用されるコンテナ・ツールの一式[40]
- Kata Containers MicroVMプラットフォーム[41]
- Bottlerocketは、仮想マシンやベアメタルホスト上でコンテナを実行するためにAmazon Web Servicesが専用に開発したLinuxベースのオープンソース・オペレーティング・システムである[42]。
- Azure Linuxは、Microsoft Azureが開発したオープンソースのLinuxディストリビューションで、Fedora CoreOSに類似している。
Remove ads
関連項目
- コンテナオーケストレーション
- Linux名前空間
- Linuxのcgroups
- サンドボックス (ソフトウェア開発)
- Container Linux
- ハイパーバイザ
- ポータブルアプリケーションクリエイター
- Open Container Initiative
- 分離カーネル
- サーバーレス・コンピューティング
- Snapパッケージ管理システム
- ストレージハイパーバイザー
- バーチャル・プライベート・サーバ
- 仮想リソースパーティショニング
脚注
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads