GNU/Linux >> Linux の 問題 >  >> Linux

軽量の分離 Linux 環境

Chroot は、あなたに合った最も軽量な環境です。これにより、同じユーザー、同じネットワーク構成などで、別のディストリビューション (または同じディストリビューションの別のインストール) をインストールできます。chroot は、ファイルシステム レベルで大まかな分離を提供するだけです。 chroot でできることとできないことがまだわからない場合は、chroot についてこのサイトを参照すると役立つ場合があります。

次のステップアップをお探しの場合は、LXC がカーネルのメインラインに含まれるようになりました。 LXC ゲスト (コンテナーと呼ばれる) には、独自のファイルシステム、プロセス、およびネットワーク空間があります。コンテナーのルートは、ホストのルートでもあります。 LXC は、ゲスト ルートによる多くの偶発的なアクションから保護しますが、悪意のあるゲスト ルートからは保護しません (これは計画中の機能です。このスペースに注目してください)。

LXC に多少似ているその他のテクノロジは、VServer と OpenVZ です。 VServer や LXC ではなく OpenVZ が提供する重要な機能はチェックポイントです。実行中のマシンのスナップショットを取得して、後で復元できます。さらにもう 1 つの候補は、ホストで通常のユーザーとして実行されるプロセス内で完全な Linux システムを実行するユーザーモード Linux です。

別の OS インストールを試す目的であれば、chroot で問題ありません。実験的なインストールでサービスを実行したり、ネットワークで遊んだりしたい場合は、LXC を使用してください。スナップショットが必要な場合は、OpenVZ を使用してください。完全に独立したカーネルが必要で、メモリのオーバーヘッドが少ない場合は、User-mode Linux を使用してください。スナップショットと別のカーネルが必要な場合は、VirtualBox を使用してください。


ドッカー LXC を使いやすくします:

<ブロック引用>

主な機能

ファイルシステムの分離 :各プロセス コンテナーは、完全に別個のルート ファイルシステムで実行されます。

リソースの分離 :cgroup を使用して、CPU やメモリなどのシステム リソースを各プロセス コンテナーに個別に割り当てることができます。

ネットワーク分離 :各プロセス コンテナは、独自の仮想インターフェイスと IP アドレスを使用して、独自のネットワーク名前空間で実行されます。

コピーオンライト :ルート ファイル システムはコピー オン ライトを使用して作成されるため、展開が非常に高速になり、メモリとディスクが節約されます。

ロギング :各プロセス コンテナーの標準ストリーム (stdout/stderr/stdin) が収集され、リアルタイムまたはバッチ検索のためにログに記録されます。

変更管理 :コンテナのファイルシステムへの変更を新しいイメージにコミットし、再利用してコンテナをさらに作成できます。テンプレートや手動構成は不要です。

インタラクティブ シェル :docker は疑似 tty を割り当て、任意のコンテナーの標準入力に接続できます。たとえば、使い捨ての対話型シェルを実行できます。

ボンネットの下

内部では、Docker は次のコンポーネントで構築されています。

  • Linux カーネルの cgroup およびネームスペース機能

  • AUFS、コピー オン ライト機能を備えた強力なユニオン ファイル システム

  • Goプログラミング言語

  • lxc は、Linux コンテナーの作成を簡素化する便利なスクリプトのセットです。


OpenVZ または Linux コンテナーを検討してください。どちらも、共通のカーネル上に独自のユーザーランドを持つ軽量の疑似仮想化環境を実装しています。

この段階では、OpenVZ はより成熟しています。


Linux
  1. Linuxで独自のコンテナを構築する

  2. LXC コマンドを使用して LXC Linux コンテナを作成および起動する方法

  3. Linux 環境変数の設定

  1. 低レベルのLinuxコンテナランタイムの歴史

  2. Ubuntu16.04でLXCを使用してLinuxコンテナをセットアップする

  3. 私のお気に入りの5つのLinuxコンテナイメージ

  1. Linux 環境での C#

  2. docker は Linux コンテナー内で実行できますか?

  3. Linux での環境変数のアクセシビリティ