Docker容器端口映射本地自身无法访问

Docker容器端口映射本地自身无法访问

背景

因项目环境需求需要设置两块网卡进行访问192走内网(自身连接硬件及基础服务) 172走外网(局域网办公人员连接) 具体设置看上一个随笔

出现问题

现在服务器的容器只要通过端口映射的程序都无法正常连接,奇怪的是其他局域网比如另一个Windows上的客户端就可以正常连接应用,同一个服务器下的程序连接就会报socket套接字等报错(不会报错无法连接基础服务),当时是一个jar连接mongodb,报错这个一般情况会会议是不是容器启动就有问题,当时这个容器没有设置双网卡之前一直好好的。

解决方法

根据上述描述确认一下几点

  1. 容器 - 使用宿主机网络的容器连接正常
  2. 容器 - 其他服务器访问映射端口的服务正常
  3. 网络 - 已经设置网络转发 echo 'net.ipv4.ip_forward = 1' >> /usr/lib/sysctl.d/50-default.conf
  4. 网络 - 防火墙 selinux 未开启

最后解决方法 重启网络服务 好啦!!! systemctl restart network

总结

万物皆重启 昨天设置网络一大波 没有重启网络导致一些策略没有生效 崩溃:docker服务都重启了就是当时没有顺手重启一下网络服务

参考博客

Docker容器端口映射无法访问的问题排查 :https://blog.csdn.net/shadow_zed/article/details/103929823
Docker 端口映射外部无法访问问题 :https://blog.csdn.net/m0_37726449/article/details/100073042

docker容器内部无法访问宿主机在的内网(局域网):http://yxba02.lofter.com/post/1cc5e28b_bcd643d

posted @ 2020-09-08 12:00  鸣昊  阅读(2812)  评论(0编辑  收藏  举报