Dockerアーキテクチャ入門

Dockerアーキテクチャ入門

Docker には 3 つの基本概念が含まれています。

  • イメージ: Docker イメージはルート ファイル システムに相当します。たとえば、公式イメージ ubuntu:16.04 には、Ubuntu 16.04 最小システムの完全なルート ファイル システムが含まれています。
  • コンテナ: イメージとコンテナの関係は、オブジェクト指向プログラミングにおけるクラスとインスタンスの関係に似ています。イメージは静的な定義であり、コンテナはイメージ実行時のエンティティです。コンテナは作成、開始、停止、削除、一時停止などが可能です。
  • リポジトリ: リポジトリは、イメージを保存するためのコード制御センターと考えることができます。

Docker はクライアント サーバー (C/S) アーキテクチャ モデルを使用し、リモート API を使用して Docker コンテナーを管理および作成します。

Docker コンテナは Docker イメージから作成されます。

コンテナとイメージの関係は、オブジェクト指向プログラミングにおけるオブジェクトとクラスの関係に似ています。

ドッカーオブジェクト指向
容器物体
親切

コンセプト例示する

Docker イメージ

Docker イメージは、Ubuntu システムなどの Docker コンテナを作成するために使用されるテンプレートです。

Dockerコンテナ

コンテナは、独立して実行されるアプリケーションまたはアプリケーションのグループであり、イメージの実行時のエンティティです。

Dockerクライアント

Docker クライアントは、Docker SDK (https://docs.docker.com/develop/sdk/) を使用して、コマンド ラインまたはその他のツールを介して Docker デーモンと通信します。

Dockerホスト

Docker デーモンとコンテナを実行するために使用される物理マシンまたは仮想マシン。

Docker レジストリ

Docker リポジトリはイメージを保存するために使用され、コード制御におけるコード リポジトリとして理解できます。

Docker Hub (https://hub.docker.com) では、使用できるイメージの膨大なコレクションが提供されています。

Docker レジストリには複数のリポジトリを含めることができ、各リポジトリには複数のタグを含めることができ、各タグはイメージに対応します。

通常、リポジトリには同じソフトウェアの異なるバージョンのイメージが含まれており、ソフトウェアの異なるバージョンに対応するためにタグがよく使用されます。 <ウェアハウス名>:<ラベル> の形式を使用して、どのバージョンのソフトウェアがミラーであるかを指定できます。タグが指定されていない場合は、最新のタグがデフォルトのタグとして使用されます。

ドッカーマシン

Docker Machine は、Docker のインストールを簡素化するコマンドライン ツールです。シンプルなコマンドラインを使用して、VirtualBox、Digital Ocean、Microsoft Azure などの対応するプラットフォームに Docker をインストールできます。

以上がDockerアーキテクチャの紹介の詳しい内容です。Dockerアーキテクチャについてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご覧ください!

以下もご興味があるかもしれません:
  • DockerプライベートライブラリHarborのアーキテクチャとコンポーネントの説明
  • MySQL 5.7 Docker のマスタースレーブレプリケーションアーキテクチャの構築に関するチュートリアル

<<:  Reactは二次的連鎖効果(階段効果)を実現する

>>:  mysql-connector-java.jar パッケージのダウンロード プロセスの詳細な説明

推薦する

Angularデータバインディングとその実装の詳細な説明

目次序文データバインディングとは何ですか? Angular のデータバインディングの種類一方向データ...

ORM を使用して MySQL にデータを追加する手順

【序文】 ORM を使用してデータベース内のデータを操作する場合、前提として、新しい ORM モデル...

VueとElementUIを組み合わせたスキン変更ソリューション

目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...

Tomcatのクラスロードメカニズムのプロセスとソースコード分析

目次序文1. Tomcat クラスローダー構造図: 2. Tomcat のクラスロードプロセスの説明...

Docker ログが多すぎてディスクがいっぱいになる場合の対処方法

複数の Docker コンテナがデプロイされたサーバーがあり、各 Docker コンテナが stde...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...

HTML テーブルタグについての簡単な説明

主にその構造といくつかの重要な特性について説明します。少しずつ改善しながら紹介していきます。 1) ...

テーブルの動的な色の変更を実現するJavaScript

この記事では、テーブルの動的な色の変更を実現するためのJavaScriptの具体的なコードを参考まで...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

CentOS7.4 に MySQL 5.7.26 をインストールするための詳細なチュートリアル

CentOS にはデフォルトで MariaDB がインストールされていますが、これは MySQL の...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

HTMLインライン要素とブロックレベル要素の基本概念と使用例

HTML タグには、インライン要素とブロックレベル要素の 2 種類があります。まず、インライン要素と...

スタイリッシュなウェブページデザインを作成する方法(グラフィックチュートリアル)

「壮大」という言葉は、おそらく現代のデザイナーが最も聞きたくない言葉でしょう。デザイナー:「デザイン...

ReactのsetStateがマクロタスクなのかマイクロタスクなのかについて詳しく話しましょう

目次序文面接官は適切な質問をしていますか? § React は setState をどのように制御し...

Vue プロジェクトでの支払い機能の実装 (WeChat 支払いと Alipay 支払い)

目次プロジェクトにおける一般的な支払い方法Alipay決済微信ペイプロジェクトにおける一般的な支払い...