Docker Swarm の初期化
このステップでは、Docker Swarm を初期化します。Docker Swarm は、Docker を実行しているマシンのグループで、クラスタに参加しています。Swarm に参加した後も、普段使っている Docker コマンドを引き続き実行できますが、これらは現在、Swarm マネージャーによって実行されます。Swarm 内のマシンは、マネージャーまたはワーカーのいずれかになります。マネージャーはクラスタ管理タスクを処理し、ワーカーはサービスを実行します。
Swarm を初期化する前に、現在の Docker バージョンを確認しましょう。
docker version
LabEx VM にインストールされている Docker バージョンを示す、以下のような出力が表示されるはずです。
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.16.20
Git commit: baeda1f
Built: Tue Oct 25 18:01:18 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.16.20
Git commit: 363bd3c
Built: Tue Oct 25 17:59:50 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.10
GitCommit: b4bd5d2b3d85c5e9b15588d67616e19a2a3a495d
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
では、このマシンで Docker Swarm を初期化しましょう。これは Swarm 内の最初のノードであるため、自動的にマネージャーノードになります。docker swarm init
コマンドを使用します。
docker swarm init
Swarm が初期化され、他のノードをワーカーとして参加させるためのコマンドが表示される出力が表示されるはずです。出力は以下のようになります。
Swarm initialized: current node (xxxxxxxxxxxx) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
この出力により、Swarm が初期化され、現在のノードがマネージャーであることが確認されます。xxxxxxxxxxxx
は実際のノード ID に置き換えられます。