场景一

单纯的docker容器A与docker容器B之间的通信,报以下错误:

No route to host

关闭服务器防火墙

以下内容网上搜的:

请顺序运行以下命令:

nmcli connection modify docker0 connection.zone trusted

systemctl stop NetworkManager.service
firewall-cmd --permanent --zone=trusted --change-interface=docker0
systemctl start NetworkManager.service
nmcli connection modify docker0 connection.zone trusted
systemctl restart docker.service
 

场景二

微服务下的docker容器A与docker容器B之间的通信,报以下错误:

No route to host

关闭服务器防火墙并配置以下属性:

eureka.instance.prefer-ip-address=true

eureka.instance.ip-address=xxx.xxx.xxx.xxx(此处不带端口号)

以上配置可以在配置文件里先配置好,或者可以在docker run的是 -e "EUREKA_INSTANCE_IP-ADDRESS=[宿主机IP]"

或者在docker run 的时候使用-net=host  使用docker跳过配置容器的独立网络栈

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐