| 開発者 | |
|---|---|
| 初回リリース | 2008年8月6日[1] |
| 安定リリース | 6.0.0 [2]
/ 2024年4月3日 |
| リポジトリ |
|
| 書かれた | C、シェル |
| オペレーティング·システム | リナックス |
| プラットフォーム | x86、IA-64、PowerPC、SPARC、Itanium、ARM |
| タイプ | OSレベルの仮想化 |
| ライセンス | GNU LGPL v.2.1 (一部のコンポーネントはGNU GPL v2 およびBSDに準拠) |
| Webサイト | linuxcontainers.org |
Linux コンテナー( LXC ) は、単一の Linux カーネルを使用して制御ホスト上で 複数の分離されたLinuxシステム (コンテナー)を実行するためのオペレーティング システム レベルの仮想化方法です。
Linuxカーネルは、仮想マシンを起動することなくリソース(CPU、メモリ、ブロックI/O、ネットワークなど)の制限と優先順位付けを可能にするcgroups機能と、プロセスツリー、ネットワーク、ユーザーID、マウントされたファイルシステムなど、アプリケーションから見たオペレーティング環境の完全な分離を可能にする名前空間分離機能を提供します。[3]
LXCはカーネルのcgroupと分離された名前空間のサポートを組み合わせて、アプリケーションに分離された環境を提供します。[4] Docker の初期のバージョンでは、コンテナ実行ドライバーとしてLXCが使用されていましたが、[4] LXCはv0.9でオプションになり、Docker v1.10でサポートが廃止されました。[5] [6]
概要
LXCは当初、カーネルに名前空間を追加しようとしていた複数の団体のコラボレーションの一環として、IBMによって開発されました。 [7]本格的な仮想マシンを作成する代わりに、独自のプロセスとネットワーク空間を持つ仮想環境を通じて、オペレーティングシステムレベルの仮想化を提供します。LXCは、バージョン2.6.24でリリースされたLinuxカーネル cgroups機能[8]に依存しています。また、メインラインLinuxカーネルに開発され統合された他の種類の名前空間分離機能も依存しています。
安全
もともと、LXC コンテナはOpenVZなどの他の OS レベルの仮想化方法ほど安全ではありませんでした。Linux カーネル 3.8 より前では、ゲスト システムのrootユーザーは、 chroot jail の場合と同様に、root 権限でホスト システム上で任意のコードを実行できました。[9] LXC 1.0 リリース以降では、「非特権コンテナ」を使用して、ホスト上で通常のユーザーとしてコンテナを実行できます。[10]非特権コンテナは、ハードウェアに直接アクセスできないという点でより制限されています。ただし、適切に構成されていれば、特権コンテナであっても LXC 1.0 セキュリティ モデルで十分な分離が提供されるはずです。[10]
代替案
LXCは、 OpenVZやLinux-VServerなどのLinux上の他のOSレベルの仮想化技術や、 FreeBSD jail、AIX Workload Partitions、Solaris Containersなどの他のオペレーティングシステム上の仮想化技術に似ています。OpenVZとは対照的に、LXCはバニラLinuxカーネルで動作し、カーネルソースに追加のパッチを適用する必要がありません。2014年2月20日に長期サポートバージョンとしてリリースされたLXCのバージョン1は、5年間サポートされました。[11] LXC 4.0は2025年6月1日まで、LXC 5.0は2027年6月1日までサポートされます。[12]
翻訳
LXDはGoで書かれた代替Linuxコンテナマネージャです。LXCの上に構築されており、より良いユーザーエクスペリエンスを提供することを目的としています。[13]これは、 LXCコンテナを管理するためのAPIを提供するコンテナハイパーバイザーです。 [14] LXDプロジェクトは2015年に開始され、 Ubuntuの背後にある会社であるCanonical Ltd.によって最初から後援されていました。 2023年7月4日、LinuxContainersプロジェクトは、CanonicalがLXDプロジェクトを引き継ぐことを決定したが、Incusと呼ばれるフォークが作成されたと発表しました。[15] [16] 2023年8月25日、Canonicalの管理下でLXDバージョン5.17が正式にリリースされ、OpenZFS 2.2の委任機能のサポートが提供されました。[17]
参照
- オープンコンテナイニシアチブ
- コンテナ Linux (旧 CoreOS Linux)
- Docker は、ソフトウェアコンテナ内でのアプリケーションの展開を自動化するプロジェクトです。
- コンテナ分離に基づく大規模クラスタ管理プラットフォームであるApache Mesos
- オペレーティング システム レベルの仮想化実装
- Proxmox Virtual Environment は、LXC コンテナと KVM をサポートするオープンソースのサーバー仮想化管理プラットフォームです。
- Anbox は、LXC を使用して他の Linux ディストリビューションで Android アプリケーションを実行します。
参考文献
- ^ 「ダウンロード」。Linux コンテナー。2014 年 11 月 10 日時点のオリジナルよりアーカイブ。2014年 11 月 10 日閲覧。
- ^ 「リリース v6.0.0」。2024年4月3日。 2024年4月11日閲覧。
- ^ Rami Rosen (2013 年 5 月)。「リソース管理: Linux カーネルの名前空間と cgroup」( PDF)。CS。UCSB。2015年2 月 11日閲覧。
- ^ ab Kenlon, Seth (2020-01-30). 「lxc を使用したシンプルな Linux コンテナーの探索」. Red Hat . IBM . 2023-07-05閲覧。
- ^ 「Docker 0.9: 実行ドライバーと libcontainer の紹介」。ブログ。Docker。2014 年 3 月 10 日。2018年 5 月 9 日閲覧。
- ^ "1.10.0". Engine リリースノート. Docker. 2016-02-04 . 2020-10-06閲覧。
- ^ Webb, Jordan (2022-09-13). 「LXC と LXD: 異なるコンテナの物語」. LWN.net . 2023-07-05閲覧。
- ^ Koutoupis, Petros (2018-08-27). 「Linux コンテナーについて知っておくべきことすべて、パート II: Linux コンテナー (LXC) の操作」. Linux Journal . 2023-07-05に閲覧。
- ^ Marco, d'Itri (2011). 「Linux コンテナーからの回避」BOFH . IT. 2014 年 1 月 9 日時点のオリジナルよりアーカイブ。2014 年2 月 12 日閲覧。
- ^ ab Graber, Stéphane (2014 年 1 月 1 日)。「LXC 1.0: セキュリティ機能 [6/10]」。2014 年2 月 12 日取得。
ただし、少なくとも Ubuntu では、デフォルトのコンテナは、cgroup アクセスと、私たちが認識しているすべての攻撃を防ぐ広範な apparmor プロファイルの両方の非常に優れた構成で出荷されています。[...] LXC はもはや root として実行されていないため、攻撃者がコンテナから脱出できたとしても、ホスト上の通常のユーザーと同じ権限を持つことになります。
- ^ Graber, Stéphane (2013-12-20). 「LXC 1.0: 最初の Ubuntu コンテナ」 St. Graber . 2014-02-23閲覧。
- ^ 「LXC」。Linux コンテナ。2023年 2 月 7 日閲覧。
- ^ 「はじめに」。LXD。Linuxコンテナー。2 020 年 4 月 14 日閲覧。
- ^ Parrott, Thomas. 「LXD プロジェクトの紹介」。Ubuntu。Canonical。2023年7月 5 日閲覧。
- ^ 「LXD は Canonical に移動されました」。Linux Containers . 2023-07-04. 2023-07-04 時点のオリジナルよりアーカイブ。2023-07-05に取得。
- ^ Rudra, Sourav (2023-07-05). 「LXD プロジェクトが Canonical に新たな拠点を見つける」。It 's Foss 。2023 年 7 月 5 日閲覧。
- ^ Parrott, Thomas (2023年8月25日). 「LXD 5.17がリリースされました」. Ubuntu . Canonical.
外部リンク
- GitHubの公式ウェブサイトとソースコード リポジトリ
- LXC に関する IBM DeveloperWorks の記事
- 「Linux コンテナからの回避」Marco D'Itri 著
- Linux コンテナの基盤技術である cgroup と名前空間についてのプレゼンテーション (Rami Rosen 氏)
- Rami Rosen による Linux コンテナと将来のクラウドに関するプレゼンテーション
- LXC: Linuxコンテナのインストールと設定
- LSS: セキュアな Linux コンテナ (LWN.net)
- Linux コンテナの紹介
- LXC on Android のYouTube、2013 年 4 月
