当前位置: 代码迷 >> 综合 >> CentOS docker 搭建nginx访问宿主机端口报错curl: (56) Recv failure: Connection reset by peer
  详细解决方案

CentOS docker 搭建nginx访问宿主机端口报错curl: (56) Recv failure: Connection reset by peer

热度:61   发布时间:2023-11-17 09:57:19.0

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

实验环境:openstack云主机CentOS72 1511,docker-ce 20.10.3

在正常安装docker-ce环境后尝试运行nginx测试docker环境是否正常,结果发现docker容器映射到宿主机的端口无法正常访问,报错:
curl: (56) Recv failure: Connection reset by peer
但容器内通过端口访问服务,返回结果正常。

如图

容器内正常访问服务,宿主机无法访问容器服务
解决方法很简单,重建docker0网桥,但出现错误原因不清楚

重建docker0网桥步骤

# 停止docker
systemctl stop docker
# 安装bridge-utils
yum install -y bridge-utils 
# 关闭docker0网桥
ip link set dev docker0 down
# 删除docker0网桥
brctl delbr docker0
# 添加docker0网桥
brctl addbr docker0
# 添加网桥信息
ip addr add 172.16.10.1/24 dev docker0
# 启动docker0网桥
ip link set dev docker0 up
# 查看网桥是否正常
ip addr
# 启动docker
systemctl restart docker

如果大佬们知道出现这种情况的原因,一起讨论交流吧!

2021/2/24补充:
先前出现宿主机端口无法正常访问的容器,如果重建docker0网卡,重启docker后还是不能正常访问,就删掉之前有问题的容器,重新run一个出来(一般是这样操作)

  相关解决方案