如何从远程访问Linux主机上Docker部署的Jaeger UI
Jaeger UI远程访问问题排查与解决方法
确认容器运行状态
执行docker ps查看Jaeger容器状态,确保容器处于Up状态,且端口映射显示0.0.0.0:16686->16686/tcp和0.0.0.0:6831->6831/udp。如果容器未启动,执行docker logs <容器ID或名称>查看日志定位启动失败原因。验证本地访问可用性
在SLES主机本地执行curl http://localhost:16686,或者通过主机本地浏览器访问该地址,确认Jaeger UI服务本身是否正常响应。如果本地也无法访问,说明服务未正常启动,优先排查容器日志。开放主机防火墙端口
SLES默认使用SuSEfirewall2或firewalld,需要开放16686 TCP端口:- 若使用SuSEfirewall2:
sudo SuSEfirewall2 open EXT TCP 16686 sudo SuSEfirewall2 reload - 若使用firewalld:
sudo firewall-cmd --add-port=16686/tcp --permanent sudo firewall-cmd --reload
执行
sudo iptables -L -n或firewall-cmd --list-ports确认端口已开放。- 若使用SuSEfirewall2:
检查Docker端口绑定范围
确认启动命令中的端口映射未限制到本地回环地址(即不要写成-p 127.0.0.1:16686:16686),这种写法会导致仅本地能访问。正确的绑定应该是-p 16686:16686,即绑定到主机所有网卡。可以通过docker inspect <容器ID>查看NetworkSettings.Ports字段确认绑定范围。确认主机IP的可路由性
使用ip addr查看主机网卡的实际IP,确保远程浏览器使用的是该主机的可路由IP(比如内网环境使用内网IP,公网环境使用公网IP),避免出现IP不匹配的情况。
内容的提问来源于stack exchange,提问作者James Patty
相关产品推荐
相关产品推荐

