首页 > 解决方案 > 在 docker 容器内创建网络命名空间时出错。错误:mount --make-shared /run/netns failed: Permission denied

问题描述

在 docker 容器内创建网络命名空间时出现错误,提示权限被拒绝。

command  
ip netns add red
error
mount --make-shared /run/netns failed: Permission denied

我正在运行图像 ubuntu:20.10 并尝试通过向容器添加特定功能但它没有帮助。

docker run -it --rm --name=ubuntu --cap-add CAP_SYS_ADMIN --cap-add NET_ADMIN ubuntu:20.10
apt-get update && apt-get install -y net-tools && apt-get install -y iproute2

即使添加了所有功能问题仍然相同。

docker run -it --rm --name=ubuntu --cap-add ALL ubuntu:20.10

标签: ubuntudocker-network

解决方案


--cap-add&--privileged不一样。
参考:https ://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities

通过以特权运行容器来对问题进行排序。添加网络命名空间似乎不需要功能。

docker run -d --name=<name> --network=none --privileged <image>:<tag>

在此处输入图像描述


推荐阅读