您好,根据这个错误提示,您服务器内不存在一个iptables相关的系统模块导致无法正常使用的。可能因部分模块丢失或禁用,导致无法启动 iptables,docker服务会依赖于iptables的功能。
该问题可能需要重新安装iptables或者是检查服务器系统内是否有引用到此模块,大致检查排查解决方法:
1.修改启动项/lib/systemd/system/docker.service:
找到 [Service]中的:
- ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
复制代码
追加下面参数:
2.此方法修复过程存在一定风险,请谨慎操作,如需要操作,请做好服务器快照然后再去操作
操作本机是放开对 iptables 的禁用,因为 iptables 本身会导致一部分的性能丢失,因此部分厂家、公司会主动关闭(或禁用)iptables,如果确认可以放开对 iptables 的禁用,再按照下面说明方法执行。
执行下面命令命令确认该问题由于是否由 NAT 模块导致:
如果报错依旧为can't initialize iptables tablenat’: Table does not exist (do you need to insmod?)` 则开始确认环境问题。可联系服务器运营商协助处理
其次确认 modprobe 文件是否禁用,执行下面命令确认:
- cd /etc/modprobe.d/ && grep -nr iptable_nat
复制代码
如果有任何输出,则注释对应行数据(不建议删除,不然删错了又搞不回来)。
如以上都无法解决,建议提交工单联系服务器运营商反馈处理 |