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 删了就可以了,真的坑啊。