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

Posted 努力lshdnks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker容器内无法访问其他服务器相关的知识,希望对你有一定的参考价值。

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

解决办法:

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

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

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

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

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

以上是关于docker容器内无法访问其他服务器的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Chrome 无法从 docker 容器内的调试端口提供服务

Docker容器内网通过独立IP直接访问的方法

无法访问 docker 容器内的烧瓶应用程序

解决Docker容器内访问宿主机MySQL数据库服务器的问题