Docker Swarmで、agentがmanagerに登録できない

More than 3 years have passed since last update.

docker-machineを使って、DockerSwarmのクラスタを作っていた所、swarm-agentがクラスタに参加して来なくて小一時間詰まった。

Discoverのバックエンドにはetcdを使っていたので、etcdの中身を見えると、追加したいノードからちゃんとキーがセットされている。

swarm-agent-masterのログを見ていると、以下のログを発見!



time="2015-11-19T16:37:35Z" level=error msg="ID duplicated. E4S7:YAHU:MXDC:VT6C:4H5D:CMV7:PHEG:FU7D:SZNW:HSKY:IRL3:K7JJ shared by 192.168.0.1:2376 and 192.168.0.2:2376"



ぐぐったら、以下のIssueがでてきた。

https://github.com/docker/swarm/issues/380

Dockerは初回起動時にユニークなIDを/etc/docker/key.jsonに作るらしい。

今回、docker-engineと使用予定のimageをpullした状態のVMをゴールデンイメージにしてクラスタを組もうとしていたので、IDが重複して、追加ノードがクラスタに参加できなかったみたいだ。

/etc/docker/key.jsonを消して、docker-engineを再起動後、クラスタに追加したら問題解決!