LXC

From Wikipedia, the free encyclopedia

LXC英語: Linux Containers)は、1つのLinuxカーネルを実行しているコントロールホスト上で、複数の隔離されたLinuxシステム(コンテナ)を走らせる、OSレベル仮想化ソフトウェアである。

作者 Daniel Lezcano(オリジナルの作者)
開発元 linuxcontainers.org(現在はプロジェクトでの開発)
最新評価版
6.0.6[1] ウィキデータを編集 / 2026年2月27日 (14日前)
概要 作者, 開発元 ...
LXC (Linux Containers)
 ウィキデータを編集
LXC (Linux Containers) の公式ロゴマーク。
作者 Daniel Lezcano(オリジナルの作者)
開発元 linuxcontainers.org(現在はプロジェクトでの開発)
最新評価版
6.0.6[1] ウィキデータを編集 / 2026年2月27日 (14日前)
リポジトリ ウィキデータを編集
プログラミング
言語
C
対応OS Linux
プラットフォーム x86, x64, IA-64, PowerPC, SPARC, ARM
対応言語 英語のみ(?)日本語対応しているかは不明。
サポート状況 活発
種別 OS仮想化、クラウド、OSレベル仮想化サーバ仮想化、無料のオープンソースソフトウェア
ライセンス 大半がGNU LGPL v2.1+
公式サイト linuxcontainers.org
テンプレートを表示
閉じる
LXClibvirt

Linuxカーネルが提供するcgroupsという機能を利用することで、リソース(CPU、メモリ、ブロックI/O、ネットワークなど)の制限と優先順位付けが可能になっており、そのために仮想マシンを使用する必要がない。また、名前空間の隔離英語版機能を利用すれば、アプリケーションから見たオペレーティング・システムの環境を完全に隔離することができるため、プロセスツリー、ネットワークユーザー識別子マウント英語版されたファイルシステムを仮想化することができる[2]

LXCはカーネルのcgroupsと隔離された名前空間のサポートを組み合わせることで、アプリケーションのために隔離された環境を提供する。初期のバージョンのDockerはLXCをコンテナ実行ドライバとして利用していたが、Docker v0.9ではオプションとなり、Docker v1.10でサポートが終了した[3]

概要

LXCは、Linuxカーネル 2.6.29から利用可能になったcgroupsに依存している。また、LXCは他の名前空間を隔離する機能にも依存しており、それらはLinuxカーネルのメインラインに統合されている。

2014年2月20日にLXC 1.0 がリリースされた。Ubuntu 14.04 LTSなどに含まれ、安定版ブランチがgitに作られ、1.0 以降は API は上位互換性を保つ。

セキュリティ

以前は、LXCコンテナはOpenVZのようなOSレベルの仮想化メソッドと比べてセキュリティが劣っていた。バージョン3.8以前のLinuxカーネルでは、chroot jailとほとんど同じようにゲストシステムのrootユーザーがホストシステムのroot権限で任意のコードを実行することが可能だった[4][5][6][7]。しかし、LXC 1.0 リリース後は、「非特権コンテナ」を用いてコンテナをホスト上の通常ユーザーとして実行することが可能となった[8]。非特権コンテナはハードウェアに直接アクセスできないという意味でより制限されている。また、LXC 1.0 のセキュリティモデルでは、適切に設定すれば特権コンテナでさえ十分な隔離を提供するとされる[8]

代替

Linuxには、OpenVZLinux-VServerといった類似のOSレベルの仮想化があり、他のOSでは、FreeBSD jailSolaris Containersがある。

関連項目

  • Open Container Initiative
  • CoreOS
  • Docker - ソフトウェアコンテナ上にアプリケーションを自動デプロイできるようにするプロジェクト
  • Apache Mesos - コンテナの隔離をベースにした大規模クラスタ管理プラットフォーム
  • OSレベルの仮想化
  • Proxmox VE - LXCコンテナとKVMをサポートするオープンソースのサーバ仮想化管理プラットフォーム
  • Anbox英語版 - Androidアプリケーションを別のLinuxディストリビューション上で実行するためにLXCを利用している

出典

外部リンク

Related Articles

Wikiwand AI