前回の記事では、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ランタイムデータ領域について理解していますか?
>>: エッジコンピューティングがモノのインターネットを推進
スパムの発生源は 2 つあり、1 つはウェブマスター自身によって発生し、もう 1 つはユーザーによっ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス商人はWeChatモーメ...
Ubokia: 購入者主導の芸術的な電子商取引ウェブサイトJD.comのようなB2Cであれ、Taob...
ほとんどの CIO は、クラウドの利点、そのグローバルな展開、サービスのスケールアップとスケールダウ...
春節も無事に過ぎ、ウェブマスターに贈られるのは春の到来です。多くのウェブマスターも、正月休みの間中、...
2013 年は企業の Web サイトにとって打撃でした。多くの Web 管理者が、Web サイトのホ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています自社の企業...
CCTVのニュースは最近、警察が「海天生宴」の周辺少女である孫静亜のネット売春事件を摘発したと報じた...
【現時点での購入はお勧めしません! [さまざまな苦情や論争の中] Armorshark は、SSD ...
Fab: クリエイティブな商品を宣伝するショッピングサイト新浪科技報、北京時間1月7日朝のニュース、...
DigitalVirt VPS はいかがでしょうか?米国の AS4837 ライン上の Digital...
2012 年は、さまざまな共同購入 Web サイトにとって間違いなく暗い年でした。倒産、合併・買収、...
quickweb は 2008 年に設立され、ニュージーランドに登録された VPS 企業です。中国人...
4月11日、百度はモバイル検索ランキングアルゴリズムの調整を開始し、ウェブサイト運営者とウェブマスタ...
ブログの外部リンクは最も一般的で最もよく使用される外部リンクですが、ブログの外部リンクを単純に理解し...