Docker Swarm の基礎
Docker Swarm の概要
Docker Swarm は、Docker コンテナのためのネイティブなクラスタリングおよびオーケストレーションソリューションです。開発者は、Docker ノードのクラスタを作成および管理し、複数の物理または仮想マシンを、コンテナのデプロイと管理のための単一で強力な仮想システムに変換できます。
Docker Swarm の主要な概念
Docker Swarm は、コンテナオーケストレーションのためにいくつかの重要な概念を導入します。
| 概念 |
説明 |
| Swarm モード |
Docker のネイティブなクラスタリングモード |
| マネージャーノード |
Swarm クラスタを制御および管理するノード |
| ワーカーノード |
コンテナのワークロードを実行するノード |
| サービス |
デプロイするコンテナ化されたアプリケーションを定義する |
アーキテクチャの概要
graph TD
A[マネージャーノード] --> B[ワーカーノード 1]
A --> C[ワーカーノード 2]
A --> D[ワーカーノード 3]
Swarm クラスタの初期化
Docker Swarm クラスタを開始するには、Ubuntu 22.04 で以下のコマンドを使用します。
## Docker のインストール
sudo apt-get update
sudo apt-get install docker.io
## Swarm モードの初期化
docker swarm init
## クラスタステータスを確認
docker info | grep Swarm
ノードの管理
ノードを Swarm に参加させるには、マネージャーによって生成されたジョイントトークンが必要です。
## マネージャーノードで:ジョイントトークンを生成
## ワーカーノードで:Swarm に参加
サービスデプロイの基本
Swarm 全体でシンプルなサービスを作成およびデプロイします。
## リプリケートされた nginx サービスをデプロイ
docker service create --replicas 3 --name web nginx
このコマンドは、Swarm クラスタ全体に分散された 3 つの同一の nginx コンテナインスタンスを作成します。これは、Docker Swarm のコアなコンテナオーケストレーション機能を示しています。