linux docker中`--privileged`和`--cap-add=all`的区别

yc0p9oo0  于 2023-03-29  发布在  Linux
关注(0)|答案(1)|浏览(213)

背景:我正在运行一个docker容器,它需要加载/删除一个内核模块,该模块使连接到远程服务器的USB设备在主机上可用,然后我想在容器中可用。
当运行带有—-privileged的容器并绑定/lib/modules/dev时,它可以正常工作。
现在我想删除特权模式,只允许最低限度的必要访问。我尝试了—-cap-add=all作为开始,但似乎还不够。—-privileged还允许什么?

ergxz8rk

ergxz8rk1#

设置特权应修改:

  • 能力:删除任何功能限制
  • 设备:主机设备将可见
  • seccomp:删除对允许的系统调用的限制
  • apparmor/selinux:未应用策略
  • cgroups:我不认为容器被限制在cgroup中

这是从记忆中,我也许可以找到一些更多的挖掘在代码中,如果这并不指向你太你的问题。
p.s.这里有一个关于--privileged功能的文档链接:https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities

相关问题