如何访问Docker覆盖networking中使用的Consul?
我确实设置了使用Consul的叠加多主机networking,没有Swarm。
我想根据自己的需要去接见领事。 当我在本地(在多个docker机上)运行我的docker工程师基础设施时,我无法使用以下方法:
consul members --rpc-addr=192.168.99.100:8500
这不会返回任何东西。 端口8500
是唯一暴露的。 我看到8300
(和其他一些端口)也是开放的,但没有暴露。
我应该公开8300? 为什么Docker /虚拟机使用8500?
有不同的consul
使用的端口。
-
8500
用于与其他领事代理进行沟通。 -
8400
用于执行RPC,将consul代理绑定到使用选项-bind
(默认为本地)指定的IP地址。
因此命令:
consul agent -data-dir /tmp/consul -node=$HOSTNAME -bind=$IP
这将启动一个名为$HOSTNAME
的consul代理并绑定到IP地址$IP
,命令可以通过诸如consul members -rpc-addr=$IP:8400
类的命令发送到该consul members -rpc-addr=$IP:8400
。
你可能会觉得这个答案有用。 它描述了一个循序渐进的教程,使用Consul使用Swarm运行多宿主覆盖networking。
编辑
正如@ vince-bowdren指出的那样 ,文档详细介绍了领事使用的各种udp / tcp端口 。