ホームページ > 運用・保守 > Docker > docker で chroot は何をしますか?

docker で chroot は何をしますか?

WBOY
リリース: 2022-02-07 11:13:38
オリジナル
3245 人が閲覧しました

Docker では、chroot は Unix および Linux システムの操作です。実行中のソフトウェア プロセスとそのサブプロセスでは、その明示的なルート ディレクトリを変更すると、プロセスのルート ディレクトリが変更される可能性があるため、このプログラムはアクセスできなくなります。ディレクトリの外側の他のディレクトリ。

docker で chroot は何をしますか?

このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

docker で chroot は何をしますか

chroot

1979 年に chroot が初めて登場して以来、コンテナ テクノロジが登場しました。

Wikipedia では chroot を次のように定義しています。

は、実行中のソフトウェア プロセスとその子プロセスの見かけのルート ディレクトリを変更する Unix および Linux システムの操作です。この環境で実行され、chroot を介してルート ディレクトリを設定するプログラムは、指定されたルート ディレクトリの外部にあるファイルにアクセスしたり、ファイルを読み取ったり、その内容を変更したりすることはできません。

平たく言えば、chroot はプロセスのルート ディレクトリを変更して、プログラムがディレクトリ外の他のディレクトリにアクセスできないようにすることができます。これはコンテナ内で行うことと非常によく似ています。以下では、例を使用して chroot を説明します。

chroot の説明例:

1), mkdir rootfs

#現在のディレクトリに rootfs という名前のディレクトリを作成します

2), cd rootfs

#ディレクトリ名を入力します: rootfs ディレクトリ

3), docker export $(docker create docker101tutorial) -o docker101tutorial.tar

#コンテナに名前を付けます: のファイル システムdocker101tutorial は、docker101tutorial.tar アーカイブ ファイルとして docker101tutorial.tar にエクスポートされ、保存されます

#これは、単にいくつかのディレクトリを作成し、いくつかのバイナリ ファイルを rootfs

の下に配置することとしても理解できます。4)、tar -xf docker101tutorial.tar

#docker101tutorial.tar ファイルの内容を抽出します

5)、ls

#現在の rootfs ディレクトリ内のファイルの内容を表示します

6)、chroot /Users/xiaoqin.wu/rootfs /bin/sh

#sh プロセスを開始し、/Users/xiaoqin.wu/rootfs を sh プロセスのルート ディレクトリとして使用します

docker で chroot は何をしますか?

docker で chroot は何をしますか?

上の図のコマンド 5 の結果を比較します。ls で /Users/xiaoqin.wu/rootfs のファイルの内容を表示します。ディレクトリと sh プロセスでの使用結果 コマンド 7: 現在のプロセスをチェックした ls の結果は一貫しています。この時点で、現在のプロセスとホストが chroot を使用して分離されていることを意味します。ディレクトリ分離コンテナーが完成します。ただし、まだコンテナと呼ぶことはできません。

理由は次のとおりです。

コマンド 8: netstat -nr を使用してルーティング情報を表示します。

docker で chroot は何をしますか?

結果からわかります。ネットワーク情報は分離されていません。実際、現時点ではプロセスやその他の情報は分離されていません。完全なコンテナーを実装するには、他の 3 つの Linux テクノロジが必要です。つまり、

Namespace

Cgroup

United File System

推奨学習:「docker ビデオ チュートリアル

以上がdocker で chroot は何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート