docker 运行一个spring boot的api接口项目,在虚拟机上测试:

curl 127.0.0.1:9997/doc.html
 

报错:(56) Recv failure: Connection reset by peer

在网上搜了很多包括:

检查防火墙是否关闭

systemctl status firewalld 检查防火墙状态
systemctl disable firewalld 永久关闭防火墙

检查转发规则是否为 1

输入命令:sysctl net.ipv4.ip_forward
如果返回为“net.ipv4.ip_forward = 1”则表示没问题

重建docker0网桥
(1)停止所有容器,停止docker服务

systemctl stop docker.socket 停止docker服务
docker stop $(docker ps -q) 停止所有容器

(2)重建docker0网桥 (每一步都别少)

[root@master docker]# yum install bridge-utils -y

[root@master docker]# ip link set dev docker0 down

[root@master docker]# brctl delbr docker0

[root@master docker]# brctl addbr docker0

[root@master docker]# ip addr add 172.16.10.1/24 dev docker0

[root@master docker]# ip link set dev docker0 up

[root@master docker]# ip addr

全部试了都不可以,就奇怪了!!!

最后发现是项目的yml配置文件指定了地址

server:
  address: 127.0.0.1

把  address: 127.0.0.1  删了就可以了,真的坑啊。

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐