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

nfe*_*ger 6 linux containers cgroups docker linux-capabilities

背景:我正在运行一个 docker 容器,它需要加载/删除一个内核模块,该模块使连接到远程服务器的 USB 设备在主机上可用,然后我希望在容器中可用。

\n

\xe2\x80\x94-privileged当使用和 绑定安装运行容器时,它可以/lib/modules工作/dev

\n

现在我想删除特权模式并只允许最少的必要访问。我尝试\xe2\x80\x94-cap-add=all作为开始,但这似乎还不够。还\xe2\x80\x94-privileged允许什么?

\n

BMi*_*tch 7

设置特权应修改:

  • 能力:消除任何能力限制
  • devices:主机设备将可见
  • seccomp:删除对允许的系统调用的限制
  • apparmor/selinux:未应用策略
  • cgroups:我不相信容器仅限于 cgroup 内

这是从记忆中得出的,如果这没有指出您的问题,我也许可以在代码中找到更多的挖掘内容。

ps 这里是有关其功能的文档的链接--privileged: https: //docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capability