English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Docker 架構

Docker には基本的な概念が 3 つあります:

  • イメージ(Image):Docker イメージ(Image)は、root ファイルシステムに相当します。例えば、公式イメージ ubuntu:16.04 Ubuntu の完全なセットが含まれています。16.04 最小システムの root ファイルシステム。

  • コンテナ(Container):イメージ(Image)とコンテナ(Container)の関係は、オブジェクト指向プログラム設計におけるクラスとインスタンスの関係のように、イメージは静的な定義であり、コンテナはイメージが実行される時の実体です。コンテナは作成、起動、停止、削除、一時停止などができます。

  • リポジトリ(Repository):リポジトリはコード管理センターとして見ることができ、イメージを保存するために使用されます。

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

Docker コンテナは Docker イメージを使用して作成されます。

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

Dockerオブジェクト指向
コンテナオブジェクト
イメージクラス

概念説明

Docker イメージ(Images)

Docker イメージは Docker コンテナの作成に使用されるテンプレートであり、例えば Ubuntu システムです。

Docker コンテナ(Container)

コンテナは独立して動作する一つのまたは複数のアプリケーションであり、イメージが実行される時の実体です。

Docker クライアント(Client)

Docker クライアントはコマンドラインや他のツールを使用して Docker SDK (https://docs.docker.com/develop/sdk/) は Docker ダッシュボードプロセスと通信します。

Docker ホスト(Host)

物理的または仮想的なマシンは、Docker ダッシュボードプロセスとコンテナを実行するために用いられます。

Docker Registry

Docker リポジトリはイメージを保存するために用いられ、コード管理のリポジトリと同様に考えられます。

Docker Hub(https://hub.docker.com提供しています。

一つの Docker Registry には複数のリポジトリ(Repository)が含まれ、各リポジトリには複数のタグ(Tag)が含まれ、各タグは一つのイメージに対応します。

通常、リポジトリには同じソフトウェアの異なるバージョンのイメージが含まれており、タグはそのソフトウェアの各バージョンに対応しています。具体的には、<リポジトリ名>:<タグ>の形式で指定できます。タグが指定されない場合、 latest デフォルトタグとして。

Docker Machine

Docker Machineは、Dockerのインストールを簡略化するコマンドラインツールで、単一のコマンドで対応するプラットフォーム(例:VirtualBox、Digital Ocean、Microsoft Azure)にDockerをインストールできます。