docker容器内无法访问其他服务器

时间:2025-03-19 19:34:45

问题:A,B两台服务器,都是docker部署的程序,A服务器的a1服务无法访问B服务器的b1服务(b1服务部署到A服务器的话可以访问),问题,docker容器内无法访问除宿主机外的局域网里的服务器?

解决办法:

这个其实应该非常少碰到,我碰到了算是巧合,因为默认的系统参数其实是不会出现这种情况的。

两种可能的原因会造成Docker容器内无法访问外部网络:

  1. 容器使用了桥接网络但防火墙屏蔽了通信
  2. /etc/系统配置参数问题

我碰到的情况属于第二种,配置参数问题,修正方法:

  1. 编辑/etc/
  2. 将其中的net.ipv4.ip_forward=0改成net.ipv4.ip_forward=1
  3. 重载配置,之后Docker的容器即可正常通信,如果不行,restart下容器。
    sysctl -p