千家信息网

容器中使用iptables报错can't initialize iptables table Permission denied该怎么解决

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,容器中使用iptables报错can't initialize iptables table Permission denied该怎么解决,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以
千家信息网最后更新 2025年02月05日容器中使用iptables报错can't initialize iptables table Permission denied该怎么解决

容器中使用iptables报错can't initialize iptables table Permission denied该怎么解决,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

背景

  在docker容器中部署了一微服务,该服务需要docker push镜像到docker registry。因此,docker容器中需要安装docker服务。但在启动容器的时候,却报错:

can't initialize iptables table `filter': Permission denied (you must be root)Perhaps iptables or your kernel needs to be upgraded.

原因    

  在容器中部署docker服务,而docker服务又会使用到iptables,因此在启动容器时,也会同时启动容器内的iptables。但iptables必须工作在容器的privileged模式下,否则就会如上报错。

解决方法

  在启动容器时加上对应的privileged参数。

docker中启动容器

docker run -privileged [imageName]

Marathon中启动容器

{  ...  "instances": 1,  "container": {    "type": "DOCKER",    "volumes": [],    "docker": {      "image": "imageName",      "network": "BRIDGE",       "privileged": true,      "parameters": [],    }  }  ...}

关于容器中使用iptables报错can't initialize iptables table Permission denied该怎么解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0