原因:
docker会绕过防火墙建立自己的iptables规则
解决1:
启动时,加上IP,如
-p 127.0.0.1:3307:3306
解决2:
vi /etc/docker/daemon.json
{
"iptables": false
}
再重启docker即可
解决3-最安全最完美的方案:
启动时,加上IP,如 -p 127.0.0.1:3307:3306 这样就保证端口针对本机开放,再到防火墙中添加端口转发规则
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 forward-port port=3307 protocol=tcp to-port=3306 to-addr=172.17.0.4(docker 运行实例的IP)'
解决4-未测试:
需要限制docker的转发链上的DOCKER表。
# 查询DOCKER表并显示规则编号
iptables -L DOCKER -n --line-number
# 修改对应编号的iptables 规则,这里添加了允许访问ip的限制
iptables -R DOCKER 5 -p tcp -m tcp -s 192.168.1.0/24 --dport 3000 -j ACCEPT
原文链接:Centos7 下 Docker 的端口映射,导致端口绕过防火墙,对外全部开放
转载仅为方便学习查看,一切权利属于原作者,本人只是做了整理和排版,如果带来不便请联系我删除。
最后修改:2023-02-08 13:25:54
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

发表评论