ubuntu - 在 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
解决方案
--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>
推荐阅读
- google-cloud-platform - BigQuery 数据集维护
- python - Pandas:使用 dtypes 但混合类型列读取 csv(NA 值)
- php - 如何获得与输入的数字一样多的结果?
- python - 从使用 pivot_table() 创建的 df 中删除索引名称
- laravel - 如何在 Docker 中使用 Laravel 队列监听
- symfony - Symfony - 带有 entity.propety 过滤器的下拉列表
- python - Python。姜戈。如何在记录传入有效负载期间避免记录文件的正文。多部分/表单数据
- javascript - 将键盘快捷键重新映射到另一个键?
- javascript - 是否可以更改`中的值和数据
- go - 在 Go 中测试通过 json http 响应返回的错误