Docker 内部コンポーネントには次のものが含まれます: 1. dockerclient (一般的な用語です。コマンド ライン docker または docker API ルールに従うクライアントです)、2. dockerserver サーバー、3. Docker イメージ、これは読み取り専用テンプレートであり、コンテナーを起動するための基礎となります; 4. ミラーウェアハウスであるレジストリ; 5. Docker コンテナー。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
Docker の内部コンポーネントは何ですか?
docker のコア コンポーネントは次のとおりです:
1. クライアント: dockerclient
2. サーバー: dockerserver
3. Docker イメージ
4. レジストリ
5. Docker コンテナ
#この記事では、これらのコンポーネントの機能を簡単に紹介し、それらがどのように連携するかを簡単に説明します
1 、docker クライアントとサーバー
Docker クライアントは docker デーモンにリクエストを送信し、docker デーモンは対応するタスクを完了し、結果をコンテナに返します
docker クライアントは一般的な用語であり、次のようになります。コマンド ライン Docker は、docker API のルールに従うクライアントとしても機能し、簡単に言うと、対話/指示の送信のためのインターフェイスとして理解できます。
以下に示すように:
2. Docker イメージ
Docker イメージは読み取り専用のテンプレートであり、起動の基礎となります。コンテナ。これには、コンテナーのファイル システム構造とコンテンツが含まれます。これらは、docker 構成ファイルとともに、docker コンテナーの静的ファイル システム環境を構成します。
docker イメージには、その設計に多くの特別な機能があります。
階層化メカニズム
Docker のミラーリング メカニズムは階層的であり、1 つのミラーを別のミラーの上に配置できます。一番下にあるものは親イメージであり、以下同様に、一番下にあるイメージをベースイメージと呼ぶことができます。最終的にイメージからコンテナを起動する際、docker はイメージの最上位層に読み書き可能なファイル システムをロードし、docker 上で実行したいプログラムはこの読み書き層で実行されます。
理解できていないのではないかと思いますが、上の図
#コンテナを起動すると、トップレベルの書き込み可能ファイルが表示されます。コンテナとトップレベルのイメージ ディストリビューション層でイメージから反復的に構築されます。次に、Docker イメージのもう 1 つの機能であるコピーオンライトが紹介されます:
2) コピーオンライト
今の図を見てください。コンテナーとトップレベルのイメージです。最初の実行開始時に書き込むことができます。内容は完全に一貫しています。内容を変更すると、ファイルはミラーの次の層 (読み取り専用層) から最上位の書き込み可能なコンテナー (読み取り/書き込み層) にコピーされます。 ). 読み取り専用レイヤーのファイルはまだ存在しますが、読み取り/書き込みレイヤーのファイルによって隠されます。コンテナー内で行われるすべての操作は、新しいイメージにパッケージ化しない限り、元の基になるデータに影響を与えません。
3) コンテンツのアドレス指定と共同マウント
。 。 。興味があれば、面倒ですが Baidu を使用してください。
3. レジストリ
画像はどこで入手できますか?特定のイメージを使用してコンテナーを初めて起動すると、ホストはまず /var/lib/docker ディレクトリに戻ってイメージを見つけます。見つからない場合は、レジストリに行ってイメージをダウンロードし、それを仮想マシンに保存し、起動を完了します。
レジストリはミラーウェアハウスとして想像できます。デフォルトのレジストリは、Docker Hub と呼ばれる、docker によって公式に提供されるレジストリ サービスです。もちろん、独自の鏡倉庫を構築することもできます。
4. Docker コンテナ
コンテナは、イメージの実行中のインスタンスです。
ユーザーは、コマンドラインまたは API を通じてコンテナーを開始、停止、移動、または削除できます。アプリケーション ソフトウェアの場合、イメージはソフトウェア ライフ サイクルの構築とパッケージングのフェーズであり、コンテナーは起動と実行のフェーズであると言えます。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がdocker の内部コンポーネントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。