私は最近 Docker で遊んでいて、Swarm を発見しました。私のシナリオでは、docker がインストールされている Ubuntu とラップトップ ( osx )を備えた 2 つのホスト ( Irons ) があります。
- host1 docker ノード (212.xx1)
- host2 docker ノード (212.xx2)
- ラップトップ docker-cli + swarm
2 つの docker-node でクラスターを作成しようとしているので、ラップトップで:
$ swarm create
TOKEN_ID
$ swarn join token://TOKEN_ID --addr=212.x.x.1
INFO[0000] Registering on the discovery service every 20s... addr=212.x.x.1:2375 discovery=token://TOKEN_ID
Ctrl+C
$ swarn join token://TOKEN_ID --addr=212.x.x.2
INFO[0000] Registering on the discovery service every 20s... addr=212.x.x.2:2375 discovery=token://TOKEN_ID
Ctrl+C
次に、クラスターを管理するために、ラップトップでもswarm-managerを作成しています。
$ swarm manage token://TOKEN_ID --host=0.0.0.0:4243
ノードをすぐにリストすると、両方が表示されます。
$ swarm list token://TOKEN_ID
212.x.x.1
212.x.x.2
しかし、1 分 (またはそれくらい) 後、それらはまったく表示されません。
$ swarm list token://TOKEN_ID
$
そして、クラスターにコンテナーをインストールしようとすると、次のように表示されます。
$ docker -H 0.0.0.0:4243 run -dP nginx
ERRO[0067] HTTP error: No healthy node available in the cluster status=500
Error response from daemon: No healthy node available in the cluster
-debugオプションを指定してswarm manageを実行すると、次のようなメッセージが表示されることに注意してください。
INFO[0002] Registered Engine 212.x.x.1:2375
(after about a minute)
INFO[0041] Removed Engine 212.x.x.1:2375
ここで何が起こっているのかについての手がかりはありますか? 前もって感謝します。