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 イメージには、その設計に多くの特別な機能があります:
1) 階層化メカニズム
Docker のミラーリング メカニズムは階層的であり、1 つのミラーを別のミラーの上に配置できます。一番下にあるものは親イメージであり、以下同様に、一番下にあるイメージをベースイメージと呼ぶことができます。最終的にイメージからコンテナを起動する際、docker はイメージの最上位層に読み書き可能なファイル システムをロードし、docker 上で実行したいプログラムはこの読み書き層で実行されます。
理解できていないのではないかと思いますが、上の図
#コンテナを起動すると、トップレベルの書き込み可能ファイルが表示されます。コンテナとトップレベルのイメージ ディストリビューション層でイメージから反復的に構築されます。次に、Docker イメージのもう 1 つの機能であるコピーオンライトが紹介されます:
(2) コピーオンライト
先ほどの図を見てみましょう。トップレベルは、最初の実行開始時に書き込むことができます。イメージのコンテンツは完全に一貫しています。コンテンツを変更すると、ファイルはイメージの次のレイヤー (読み取り専用レイヤー) からトップレベルにコピーされます。書き込み可能なコンテナ (読み取り/書き込みレイヤー)。読み取り専用レイヤーのファイルはまだ存在します。ただし、読み取り/書き込みレイヤーのファイルによって隠されます。コンテナー内で行われるすべての操作は、ユーザーが実行しない限り、元の基になるデータに影響を与えません。それを新しいイメージにパッケージ化します。
3. レジストリ
イメージはどこから入手できますか?特定のイメージを使用してコンテナーを初めて起動すると、ホストはまず /var/lib/docker ディレクトリに戻ってイメージを見つけます。見つからない場合は、レジストリに行ってイメージをダウンロードし、それを仮想マシンに保存し、起動を完了します。
レジストリはミラーウェアハウスとして想像できます。デフォルトのレジストリは、Docker Hub と呼ばれる、docker によって公式に提供されるレジストリ サービスです。もちろん、独自の鏡倉庫を構築することもできます。
4. Docker コンテナ
コンテナは、イメージの実行中のインスタンスです。
ユーザーは、コマンドラインまたは API を通じてコンテナーを開始、停止、移動、または削除できます。アプリケーション ソフトウェアの場合、イメージはソフトウェア ライフ サイクルの構築とパッケージングのフェーズであり、コンテナーは起動と実行のフェーズであると言えます。
以上がdocker のコアコンポーネントとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。