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 パッケージのダウンロード プロセスの詳細な説明

推薦する

Helloダイアログボックスのデザイン体験の共有

「どうしたの?」特定の種類のダイアログ ボックスに慣れていない限り、ダイアログ ボックスが表示された...

MySql マスタースレーブレプリケーションメカニズムの包括的な分析

目次マスタースレーブレプリケーションメカニズム非同期レプリケーション準同期レプリケーションマスタース...

Centos サーバーに MySql をデプロイし、Navicat に接続するプロセスの詳細な説明

(1)サーバー構成: [root@localhost ~]# cd /usr/local/src/ ...

div 要素に終了タグがないため、Web ページを開くことができません

最初は速度の問題だと思ったので、その後、すべての画像リンク リクエストをクロスサイト接続ではなくサイ...

Linux リモート コントロール Windows システム プログラム (3 つの方法)

場合によっては、Windows システム上のプログラムを Linux 上でリモートで実行する必要があ...

MySQL での utf8mb4 照合の例

MySQL における一般的な utf8mb4 ソート規則は次のとおりです。 utf8mb4_0900...

Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)

現在、MySQL を学習中です。私は完全な初心者で、Linux についてはあまり知りません。今後の作...

MySQL におけるユニーク制約と NULL の詳細な説明

序文説明を簡略化するために以前に設定した要件は、他のグループから MQ メッセージを受信し、データベ...

実用的な基本的な Linux sed コマンドのサンプルコード

Linux ストリーム エディターは、データ センターでスクリプトを実行するのに便利な方法です。これ...

MySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細な説明

1. クラスター化インデックステーブル データはインデックスの順序で保存されます。つまり、インデック...

MySQLの結合の基本原理についての簡単な説明

目次結合アルゴリズム駆動テーブルと非駆動テーブルの違い1. 単純なネストループ結合、単純なネスト、イ...

MySQL 5.7.17 のインストールと設定のグラフィックチュートリアル

ブロガーはこう述べています。「私は『史上最も簡単な MySQL チュートリアル』という一連のブログ記...

Linux Jenkins 構成スレーブノード実装プロセス図

序文: Jenkins のマスター スレーブ分散アーキテクチャは、主に、Jenkins に単一ポイン...

Linux でコマンドまたはプロセスの実行時間を調べる方法

Unix ライクなシステムでは、コマンドまたはプロセスの実行がいつ開始されたか、またプロセスがどのく...

Vueのハッシュジャンプ原理の詳細な説明

目次ハッシュと履歴の違いハッシュ履歴getCurrentLocation の実装setupListe...