特定のアドバタイズアドレスでスワームを初期化する
前のステップでは、基本的な Docker Swarm を初期化しました。このステップでは、スワームを初期化し、スワームマネージャが他のノードにアドバタイズするアドレスを指定する方法を学びます。これは、複数のネットワークインターフェースを持つ環境や、スワーム通信に使用するアドレスを制御したい場合に便利です。
まず、既存のスワームから脱退する必要があります。これは docker swarm leave
コマンドを使用して行うことができます。これが唯一のノードであり、マネージャであるため、--force
フラグを使用する必要があります。
docker swarm leave --force
ノードがスワームから脱退したことを確認する出力が表示されるはずです。
次に、現在のマシンの IP アドレスを見つけましょう。ip addr show
コマンドを使用し、ネットワークインターフェース(一般的には eth0
または ens*
)に関連付けられた IP アドレスを探します。
ip addr show
スワームのアドバタイズアドレスとして使用したい IP アドレスを特定します。たとえば、IP アドレスが 172.17.0.2
の場合、それを使用します。
ここで、再度スワームを初期化しますが、今回は --advertise-addr
フラグを使用してアドバタイズアドレスを指定します。<YOUR_IP_ADDRESS>
を見つけた実際の IP アドレスに置き換えてください。
docker swarm init --advertise-addr <YOUR_IP_ADDRESS>
基本的な初期化と同様の出力が表示されますが、参加コマンドには指定したアドバタイズアドレスが含まれるようになります。
スワームが正しいアドバタイズアドレスで初期化されたことを確認するには、スワームをインスペクトすることができます。
docker swarm inspect --pretty
出力の AdvertiseAddr
フィールドを探してください。指定した IP アドレスと一致するはずです。