前回の記事では、UTS 名前空間について紹介しました。コンテナ内の各コンテナは個別にマウントおよび保存できるため、マウントの分離が必要です。マウント名前空間は Linux でサポートされている最も古い名前空間であり、異なる名前空間で異なるマウント ビューをサポートします。 unshare を通じて新しいマウント スペースを分離し、この新しいマウント スペースの /mnt ディレクトリに /usr/bin ディレクトリをマウントすることができます。 exit が返されると、マウントは無効になります。下記の通りです。
実際、unshare --mount の本質は、クローン作成時にフラグを CLONE_NEWNS として指定することです。以降のデモの原理も同様です。 カーネル原理マウント名前空間を理解するには、まずマウントの原理を理解する必要があります。マウントは、ファイル システムを別のファイル システムにマウントできます。次の図は、ルート ファイル システムの「/home」パスにマウントされたファイル システムを示しています。マウント関係はカーネル構造マウントによって識別されます。マウント構造の中核は、マウントされたターゲット パスを指す mnt_mountpoint です。これは、図のルート ファイル システムの /home パスです。 上図では、home に 2 つの dentry があります。1 つはターゲット マウント ポイントであるルート ファイル システムの dentry で、もう 1 つはマウントされたファイル システムの dentry です。たとえば、マウント ディスクが EXT4 ファイル システム形式の場合、この dentry はマウント ディスクのルート ファイル システム dentry になります。外部ファイル システムは、マウント構造体を介してルート ファイル システムにマウントできます。 各マウント構造体には、マウント コマンド スペースへのポインターである mnt_namespace が含まれています。前回のネームスペースの概要記事で紹介した ns_proxy も、この mnt_namespace を指します。このようにして、プロセスとそのマウント スペースを関連付けることができます。 マウント名前空間のもう 1 つの特別な機能は、マウント伝播です。これは、1 つのマウント オブジェクトの状態の変化によって他のマウント オブジェクトがマウントおよびアンマウントされるイベントを指します。コンテナのシナリオでは、Docker でマウントが実行された場合、そのマウントはホスト上で確認できますか?逆に、ホスト上でマウントを実行した場合、コンテナ内でそれを見ることはできますか?一般的な取り付け方法は 3 つあります。 共有関係: 2 つのマウント オブジェクトに共有関係がある場合、一方のマウント オブジェクトのマウント イベントはもう一方のマウント オブジェクトに伝播され、その逆も同様です。これは、コンテナとホストのマウントが相互に表示されることを意味します。 スレーブ関係: 2 つのマウント オブジェクトがスレーブ関係を形成する場合、一方のマウント オブジェクトのマウント イベントはもう一方のマウント オブジェクトに伝播されますが、その逆は当てはまりません。この関係では、スレーブ オブジェクトがイベントの受信者になります。つまり、ホストにマウントされたコンテナーは表示されますが、その逆は表示されません。 プライベートな関係は相互に通信せず、独立しています。つまり、お互いに見えません。 実戦デモ上記のプログラムに CLONE_NEWNS を追加すると、新しいマウント名前空間が作成されます。コードは以前の PID コードと CLONE_NEWNS に基づいています。
go run を直接実行した後、記事の冒頭にあるデモ unshared を実行します。あなたは見つけるでしょう マウント伝播はデフォルトで共有されるため、新しいマウント名前空間でマウントを実行すると、ホストにも伝播されます。まず、ルート ディレクトリをホスト上のプライベート マウントに調整して、コンテナー内のマウントがホストに伝播されないようにします。
上記のデモも正常に実行できます。 |
<<: 面接で必ず聞かれるJVMランタイムデータ領域について理解していますか?
>>: エッジコンピューティングがモノのインターネットを推進
1. Kubernetesとは Kubernetes は、大規模なコンテナ化されたアプリケーションの...
クラウド移行とは、データ、アプリケーション、またはその他のビジネス要素をクラウド コンピューティング...
最近、CPの友人とチャットしていたとき、彼は泣きながら、広告会社のASOに20万元を投資したが、結局...
検索エンジンは通常、次のような考え方に基づいて重複した Web ページを判断します。各 Web ペー...
第1章第6節 フェイスプロジェクト---ホームページデザインホームページをどうデザインするかも重要な...
成都のデイリー・エコノミック・ニュース記者、習大偉昨日(10月31日)朝、新浪微博ユーザーの暴露によ...
discuz!X2.5 のフォーラム機能はすでに非常に強力であり、サイト全体の SEO 最適化機能も...
ダンプスターとは何ですか? 「いくつかのコンテンツを集めて再分類しました。分類は元のウェブサイトより...
tmhhost はロサンゼルスの cera データセンターに高防御の VPS を保有しています。デフ...
先輩の「Qiushiyou」として、仕事以外で私が毎日必ず訪問するウェブサイトはQiushibaik...
検索エンジンのランキングにプラスの影響を与える主な要因世界トップ 5 の SEO 企業の 1 つから...
Hostsolutions がプロモーションを開始し、1Gbps の帯域幅と無制限のトラフィックを備...
広州日報によると、今月7日、深センの姚さんは公益法律支援プラットフォームの支援を受けてアップルを提訴...
[[413107]]序文Redis 分散ロックについては多くの記事が書かれていますが、インターネッ...
ウェブマスターの皆さんは、「The Brain」の第 1 話に Baidu の CEO である Ro...