> 技术文档 > 解决Docker端口映射后外网无法访问的问题_docker端口映射无法外部访问

解决Docker端口映射后外网无法访问的问题_docker端口映射无法外部访问


一、前言

今天因为服务器宕机,重新启动后发现docker部署的mysqlredis都无法通过外网访问。经过排查原因是ip转发没有开启。下面教大家如何解决

二、问题排查

(1) 查看防火墙运行情况

使用firewall-cmd --state
如果防火墙处于not running,则可以排除防火墙阻断请求的可能。
如果输出防火墙处于running则表示防火墙正在运行,需进行下一步排查

(2) 查看防火墙开放了哪些端口和服务。

使用firewall-cmd --list-portsfirewall-cmd --list-services,查看是否开放了我们需要访问的端口

(3)查看ip转发是否开启

通过cat /proc/sys/net/ipv4/ip_forward查看ip转发是否开启。
如果该值为0则需要配置其开启

通过以下方法进行开启

echo \'net.ipv4.ip_forward = 1\' >> /etc/sysctl.conf 

重新加载并让修改生效。

 sudo sysctl -p

我的属于第三种
解决Docker端口映射后外网无法访问的问题_docker端口映射无法外部访问

三、参考

排查Docker端口映射后外部无法访问的问题