swarm (クラスタ)の作成¶
チュートリアルのセットアップ ステップを終えたら、 sarm (訳者注:「群れ」の意味ですが、swarm mode における「クラスタ」を意味する概念)を作成する準備が整いました。ホストマシン上で Docker Engine デーモンが起動しているか確認してください。
ターミナルを開き、マネージャ・ノードにしたいマシンに SSH で入ります。たとえば、このチュートリアルでは
manager1
という名前のマシンを使います。Docker Machine を使っている場合は、以下のコマンドを使い、 SSH 経由で接続できます。$ docker-machine ssh manager1
新しい swarm を作成するために、次のコマンドを実行します。
$ docker swarm init --advertise-addr <MANAGER-IP>
注釈
Docker Desktop for Mac や Docker Desktop for Windows を使っている場合は、単一ノード swarm をテストするために、引数を付けずに単純に
docker swarm init
を実行します。今回の例では--advertise-addr
を指定する必要はありません。詳しく学ぶには、Swarm で Docker Desktop for Mac や Docker Desktop for Windows を使う をご覧ください。このチュートリアルでは、
manager1
マシン上で次の swarm 作成コマンドを実行します。$ docker swarm init --advertise-addr 192.168.99.100 Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
--advertise-addr
フラグは、 manager ノードで自身を192.168.99.100
として公開する設定です。swarm における他のノードは、この IP アドレスを使い、manager に対して接続する必要があります。出力には、swarm に新しいノードを追加するコマンドも含みます。
--token
フラグの値によって、ノードは manager あるいは worker として参加します。
docker info
を実行し、現在の swarm の状況を表示します。$ docker info Containers: 2 Running: 0 Paused: 0 Stopped: 2 ...省略... Swarm: active NodeID: dxn1zf6l61qsb1josjja83ngz IsManager: Yes Managers: 1 Nodes: 1 CACertHash: sha256:b7986d3baeff2f5664dfe350eec32e2383539ec1a802ba541c4eb829056b5f61 ...省略...
docker node ls
コマンドを実行し、ノードに関する情報を表示します。$ docker node ls ID NAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS LEADER dxn1zf6l61qsb1josjja83ngz * manager1 Accepted Ready Active Reachable Yes
ノード ID の横にある
*
印は、現在接続中のノードを表します。Docker Engine swarm モードは、ノードに対してマシンのホスト名を自動的に付けます。他の列については、以降のステップで扱います。