Docker アーキテクチャ

Docker Akitekucha



Docker は、アプリケーションやソフトウェアの作成、実行、出荷に広く利用されている、無料で好評のオープンソース プラットフォームです。クライアント サーバー アーキテクチャをサポートします。クライアント docker は、Docker の主要な要素を管理および処理する Docker エンジンに接続します。 Docker ユーザーは、クライアントをリモート サーバーに接続することもできます。 OS 仮想化を利用して、Docker コンテナー内の製品をインポートおよび管理します。

この記事では、Docker アーキテクチャとは何かを示します。

Docker アーキテクチャとは

アーキテクチャは、建物、ソフトウェア、またはプラットフォームの設計または要素と呼ばれます。 Docker アーキテクチャは、プログラムとアプリケーションを構築、出荷、展開するためのさまざまなコンポーネントで構成されています。 Docker の主なコンポーネントは次のとおりです。







  • Docker デーモン
  • Docker クライアント
  • Docker イメージ
  • Docker コンテナ
  • Docker レジストリ
  • Docker ネットワーク



Docker デーモン

Docker デーモンは、Docker アーキテクチャのコア コンポーネントです。通常、コマンドを介してクライアントから応答を取得し、それに応じて動作します (ホスト上でコンテナーをデプロイおよび維持する方法など)。コンテナーの作成、実行、および管理を担当します。 Docker デーモンはホスト システムで実行され、REST API を介してクライアントと通信します。



Docker クライアント

Docker クライアントは、通信のためにコマンドを Docker デーモンに送信し、応答を受信します。デーモンはユーザーのローカル マシン上で動作し、デーモンはユーザーのマシンのホスト上にあります。ただし、ネットワークの助けを借りて、異なるシステムから相互に通信できます。





Docker イメージ

Docker イメージは、コンテナーの生成とデプロイに通常使用される Docker アーキテクチャーのもう 1 つの重要な部分です。これらのイメージには、アプリケーションのソース コード、必要な依存関係、およびその他の構成設定が含まれます。これらのイメージは、コマンドと Dockerfile を使用して作成できます。

Docker コンテナ

Docker アーキテクチャの基本概念は、Docker イメージを通じて作成される Docker コンテナーに基づいています。 Docker は、通常、アプリケーション、重要な依存関係、および構成設定を 1 つのユニットにパックするために使用されるコンテナー化プラットフォームです。したがって、これらの Docker コンテナーは、スタンドアロンの実行可能パッケージとも呼ばれます。



Docker レジストリ

Docker レジストリは、Docker アーキテクチャのもう 1 つのコア ユニットです。レジストリは 2 つのタイプに分類されます。ローカル レジストリとリモート レジストリ。これらのレジストリは、Docker イメージの保存と配布に利用されます。具体的には、Docker Hub は Docker イメージの公式の公開リモート レジストリです。ただし、Docker ユーザーはプライベート リモート レジストリを作成および管理することもできます。

Docker ネットワーク

Docker ネットワークは、ホスト システムで実行されている Docker デーモンを介して、Docker の世界の外部にあるコンテナーを接続する方法を提供します。 Docker プラットフォームにより、ユーザーは必要な数の Docker ネットワークを使用できます。ユーザーは、自分のネットワークまたはデフォルトの Docker ネットワークを作成して使用できます。

説明した Docker アーキテクチャにより、Docker は、アプリケーションをコンテナー化するための他のプラットフォームの中でも際立っています。

結論

Docker プラットフォームは、コンテナー化されたソフトウェア、アプリケーション、およびプロジェクトの構築、展開、および配布にうまく利用されるクライアント サーバー アーキテクチャを提供します。 Docker アーキテクチャの主要部分は、Docker デーモン、Docker クライアント、Docker イメージ、Docker コンテナ、Docker レジストリ、および Docker ネットワークです。このブログでは、Docker アーキテクチャについて詳しく説明しています。