docker swarm添加了太多iptables规则,且很多重复的,怎么处理?
- docker swarm的工作节点上,发现添加了太多iptables规则,且很多是无用的(可以确认有些端口已经没有容器在用了),而且有重复的(可以确认有很多重复没差别的规则),如下:
$ sudo iptables -t nat -L -n --line-numbers -v
......
2483 0 0 MASQUERADE tcp -- * * 192.168.0.33 192.168.0.33 tcp dpt:14129
2484 0 0 MASQUERADE tcp -- * * 192.168.0.17 192.168.0.17 tcp dpt:14129
2485 0 0 MASQUERADE tcp -- * * 192.168.0.22 192.168.0.22 tcp dpt:14129
2486 0 0 MASQUERADE tcp -- * * 192.168.0.23 192.168.0.23 tcp dpt:14129
2487 0 0 MASQUERADE tcp -- * * 192.168.0.23 192.168.0.23 tcp dpt:14129
2488 0 0 MASQUERADE tcp -- * * 192.168.0.23 192.168.0.23 tcp dpt:14129
2489 0 0 MASQUERADE tcp -- * * 192.168.0.23 192.168.0.23 tcp dpt:14129
2490 0 0 MASQUERADE tcp -- * * 192.168.0.23 192.168.0.23 tcp dpt:14129
......
2484 2009 121K DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3504 to:192.168.0.17:14129
2485 18991 1139K DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3505 to:192.168.0.22:14129
2486 1333 79980 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3506 to:192.168.0.23:14129
2487 5309 319K DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3507 to:192.168.0.23:14129
2488 3843 231K DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3508 to:192.168.0.23:14129
2489 3360 202K DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3509 to:192.168.0.23:14129
2490 64 3840 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3510 to:192.168.0.23:14129
- 我觉得docker在容器删除后应该自动去除没用的规则,为什么没去掉呢?
- 同时与iptables版本有关系吗?出问题比较多的是iptables v1.4.7,没有明显问题的(也就是说rules规则不多正好是容器个数的,没有重复的)版本是iptables v1.4.21。
- 有遇到相同问题的吗?这个问题可能会引起更严重的问题,比如端口冲突的问题,宿主机上5000端口,被iptabls规则错误引到容器里。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解答参考:我的博客,应该与iptables版本有关系,升级到v1.4.21就可以自动清除无用规则了。