Docker游泳模式 – –advertise-addr和–listen-addr有什么区别?

我是新来的群集。 我看不出这两个选项之间的区别? 我认为advertise addr被其他节点用来相互通信,listen addr被主机用来join集群。 所以我认为这两个地址总是一样的。 我对吗?

离开--listen-addr默认为0.0.0.0:2377告诉它监听所有的请求接口。 你可以使用这个来限制Swarm只在特定的接口上监听,如果你有一些独立于你的节点上的公共networking的pipe理networking。

--advertise-addr是Swarm中的其他节点build立连接的地址,需要成为每个人都可以parsing和访问的地址。

请注意,1.12的早期RC没有--advertise-addr因此您可能会发现一些说明指示--listen-addr应该被使用。 我会忽略这些,只使用--advertise-addr除非你有一个特定的用例。

你是正确的,也听addr是守护进程将接受连接的地址,即。 0.0.0.0:<port>表示守护进程可以从所有可能的ip地址获得。 虽然192.168.1.1:<port>表示守护进程将只接受该特定接口上的连接。