我想了解Docker Swarm Manager和Docker Swarm Agent之间的通信机制:
既然管理人员需要向代理商发出指示,那么它是如何通知代理商存在于这些IP的?
Hypotesis:
代理商是否使用其令牌在某个docker.com服务器上注册自己,并且管理中心使用相同的令牌从其获取地址?
谢谢
答案 0 :(得分:2)
选项在此处的doc中描述: https://docs.docker.com/swarm/discovery/
在此示例中,我使用托管发现与Docker Hub 。还有其他选项,例如 静态文件 , consul , etcd 等。
您创建了泊坞群集:
docker run -rm swarm create
这会为您提供一个令牌,用作您的群集ID:e4802398adc58493...longtoken
您在群集中注册一个/多个泊坞主机
docker run -d swarm join --addr=172.17.42.10:2375 token://e4802398adc58493...longtoken
提供的IP地址是docker主机节点的地址。
未来管理员将如何了解代理/节点
您将swarm管理器部署到任何docker主机(让我们说 172.17.42.10:2375 ,就像我用来创建swarm并注册我的第一个码头工人主持人)
docker run -d -p 9999:2375 swarm manager token://e4802398adc58493...longtoken
要使用群集,请将DOCKER_HOST设置为群集管理器的IP地址和端口
export DOCKER_HOST="tcp://172.17.42.10:2375"
使用docker info
之类的内容现在应返回有关群集中节点的信息。