(本文档仅供参考)
问题:
使用docker部署Tomcat应用之后,18080端口监听正常,docker 容器状态正常运行中,查看docker logs输出无异常;
测试网络连通性,客户端访问docker所在服务器。telnet 端口 也无问题,但是无法访问应用。
问题原因:
服务器内核转发未打开,网络流量将无法正确转发到容器内部。
解决方案:
可以通过编辑内核参数来开启转发功能。
如CentOS服务器上打开内核转发可以通过编辑/etc/sysctl.conf文件来实现。:
使用root权限打开
/etc/sysctl.conf
文件:vim /etc/sysctl.conf 在文件中添加以下行来开启IP转发:
net.ipv4.ip_forward=1 其中,1表示开启,0表示关闭。
保存并关闭文件。
使内核参数立即生效,执行以下命令:
sysctl -p
完成以上步骤后,CentOS服务器上的内核转发功能就已开启。请注意,在修改系统配置文件后,通常需要重新启动网络服务或整个服务器才能使更改生效。
参考文档:
https://blog.51cto.com/u_16175474/6945026