前回の記事では、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ランタイムデータ領域について理解していますか?
>>: エッジコンピューティングがモノのインターネットを推進
4月初旬、Ramnodeは128Mメモリ搭載VPSの販売を停止すると発表しました。「ニュース:Ram...
Ramnode は 9 月の 32% 割引コードをリリースします。割引コード: WOWNUM1、今か...
インターネットの急速な発展に伴い、最先端技術を駆使するテクノロジー企業がインターネットに目を向けてい...
今年最初のインターネット有名人ゴシップの波は「それほど有害ではないが、非常に侮辱的」だった。まず、1...
登場から40年近く経ったパーソナルコンピュータは、大きな進化を遂げてきました。 9月17日、2020...
Canalysのレポートによると、主要なクラウドサービスプロバイダーとテクノロジーチャネルが顧客投資...
調査会社ガートナーの調査によると、2022年末までに世界中の企業がクラウドコンピューティングインフラ...
プロの SEO 担当者として、私たちは毎日ウェブサイトを扱っています。もちろん、ウェブサイトの重み、...
百度は6月22日と28日に公式声明を発表し、低品質サイトへの取り締まりの厳しさを厳粛に強調し、独自の...
11月5日、IBM中国はIBMのソフトウェアポートフォリオをクラウドネイティブに変換し、Red Ha...
SaaS セキュリティ プロバイダーの AppOmni は、誤った構成は、顧客が管理する構成とゲスト...
先日、8月25日のBaiduのアルゴリズム調整について記事を書きました。もう10日近く経ちました。こ...
鉄道部の12306ウェブサイトはひどいミスを犯し、到着時間が出発時間よりも早く表示されました。中国江...
ウェブマスター業界の台頭に伴い、その派生品も多くの草の根ウェブマスターに歓迎されてきました。SEOト...
ほとんどの草の根ウェブマスターにとって、日々の最適化作業は基本的に自分自身で行っています。コンテンツ...