この質問を改善したいですか? 質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。
5年前に閉鎖されました。
この質問を改善する
Containersについてさらに調査および学習している間、Dockerには、ステップバイステップガイドを備えた優れたドキュメントとユースケースの例があるようです。一方、LXDには簡単な入門ガイドがあります。 LXDに関する優れたドキュメントが掲載されているソースはどれですか?
承認された回答:
LXCとLXD
ブログの投稿は素晴らしく、有益で、始めるのに読むのは良いですが、一度始めたら、ブログの投稿は作成しません。私と同じように、DockerとLXC / LXDの違いについては、よくあるブログ投稿をいくつか読んだだけでかなり明確になるかもしれません。しかし、古いLXCプロジェクトと新しいLXDプロジェクトの違いは私にはすべて明らかであり、私が見つけたほとんどのページは、私が理解できる方法でそれを説明するのにうまく機能していません。ほとんどの場合、アプリケーションコンテナ(Docker)とオペレーティングシステムコンテナ(LXC / LXD)の間の混乱を解消しようとします。それから私はこのブログ投稿を見つけました:lxdはどこに収まりますか
ご存知かもしれませんが、これらのツール(Docker / LXC / LXD)はすべて、名前空間やcgroupなどの一般的なカーネル機能を使用しています。これは、ユーザースペースがそれらの使用をどのように決定するかという問題にすぎません。私の理解に基づいて、LXCとLXDの進化に焦点を当てた上記の投稿の要約:
- LXCは元々、新しいカーネル機能をテストするために作成されました。そのため、シェルスクリプトとCプログラムのミッシュマッシュでした(今日でも「古い」LXCコマンドラインツールを介して使用されています)。
- その後、これはライブラリにリファクタリングされました。既存のLXCユーザースペースコマンドラインツールは現在、このライブラリを使用しています。
- LXDは、このライブラリとのインターフェースを確立する方法であり、古いLXCコマンドラインツールとの下位互換性に邪魔されることはありません。そのため、使いやすく、より機能的です。
(メンテナのような)誰かが上記のエラーを見つけた場合は、遠慮なく私の答えを訂正してください。 🙂
libvirt-lxcに関する注意事項
また、libvirt-lxc
を検討している場合 (例:すでにlibvirt
を使用している場合 KVMを使用):
- Red Hatはこれを非推奨にしました:https://access.redhat.com/articles/1365153
- アップストリームによると、引き続き作業を行う予定です:https://www.redhat.com/archives/libvirt-users/2015-August/msg00026.html
-
libvirt-lxc
でもlxc
があります 名前の中で、実際にはlxc
を使用していません 代わりに、カーネル機能を直接使用します。したがって、このlibvirt
を混同しないでくださいlxc
を使用するドライバー 名前の混乱にもかかわらず。参照:http://libvirt.org/drvlxc.html(proxmoxはlxc
を使用する 適切ですが、新しいlxd
ではありません ツール)。 - StéphaneGraberは、
libvirt
を使用することを提案しています コンテナを使用するのは適切ではなく、誰かがlibvirt-lxd
を作成する可能性があります。 、彼はそれも不適合だと考えています。要約:libvirt
はVMを管理するように設計されており、コンテナはVMではないため、物事が煩雑になり、機能の共通分母のみをサポートします。参照:https://lists.linuxcontainers.org/pipermail/lxc-devel/2014-November/010820.html - 以前の機能を強化するために、
libvirt-lxc
を使用して新しいコンテナーを作成するのはそれほど簡単ではありません。 。たとえば、作成する新しいコンテナの既存のrootfsへのパスを指定する必要があり、libvirt-lxc
はサポートされていません。 それをスピンアップします。そのため、lxc-create
などの外部ツールを使用するようなことができます。 テンプレートから新しいコンテナを作成してから、新しいlibvirt-lxc
を作成します 作成したばかりの既存のディレクトリを使用するコンテナ。「なぜlibvirt-lxc
に大騒ぎするのか」と尋ねられます。lxd
を使用する代わりに 直接?」
LXDドキュメント
あなたの質問に戻って、私は見つけたLXDのすべてのリファレンスドキュメントをまとめようとしました。ここにいくつかの素晴らしいドキュメントがあります:
https://github.com/lxc/lxd/tree/master/doc
特に:
-
configuration.md
可能な構成オプションの優れたリファレンスリストがあります。 -
imagehandling.md
オペレーティングシステムのイメージがローカルにキャッシュされる方法について説明します。 -
lxd-ssl-authentication.md
REST APIと、それがローカルUNIXソケットとオプションでHTTPSの両方でどのように公開されるか、およびこれがどのように保護されるかについて説明します。 -
storage-backends.md
各ストレージバックエンドの制限と構成について説明します。 -
userns-idmap.md
lxdはデフォルトで非特権コンテナーを使用します。これは、コンテナーUID/GIDをホストUID/GIDにマップする必要があることを意味します。これはそれについて議論します。 - 残りのドキュメントの多くは、読むのにそれほど重要ではないか、開発者向けです。
上記のリンクは、lxd
のマスターブランチからのものです。 アップストリームなので、doc
を確認することをお勧めします 実際にインストールしたパッケージのソースのディレクトリ。まだインストールしていない新機能を誤って使用することはありません。
マニュアルページはそれほど多くありませんが、lxd
に含まれていることがわかりました。 およびlxd-client
パッケージ:
-
LXC(1)
–サーバーデーモンと通信するためのクライアントプログラム。現在(2016年5月14日)はかなり役に立たず、有益ではありません。将来的には、btrfs
のように、このツール用に一連のマンページを作成できるようになることを願っています。 マンページ。 -
LXD(1)
–サーバーデーモンのコマンドライン。
もちろん、サーバーガイドページもあります:https://help.ubuntu.com/lts/serverguide/lxd.html
最後に、lxdはlxcライブラリに基づいていることを忘れないでください(ただし、古いlxcコマンドラインツールには基づいていません)。これは、lxcの設定を直接実行できることを意味します。 raw.lxc
を使用する lxdの構成オプション。したがって、基盤となるLXC構成への参照は有用ですが、LXDとの競合を回避するために、可能であれば回避する必要があることを覚えておいてください(たとえば、LXDとLXCの両方で同じ構成項目を設定する場合)。必要に応じて、マンページを掘り下げて見つけることができます:https://linuxcontainers.org/lxc/manpages/