我在服务器上构建了docker映像,该映像可以为Jenkins运行CI-CD。由于某些构建使用泊坞窗,因此我在映像中安装了泊坞窗,并且为了允许内部泊坞窗运行,我必须赋予它--privilege。
一切正常,但是我想在Openshift(或Kubernetes)上的docker中运行docker。问题在于获得--privilege权限。
在Openshift上运行特权容器是否很危险?如果是,为什么以及增加多少?
答案 0 :(得分:0)
特权容器可以重新引导主机,替换主机的内核,访问任意主机设备(例如原始磁盘设备)以及重新配置主机的网络堆栈among other things。我认为这非常危险,没有比在主机上以root用户身份运行进程更安全的方法了。
我建议完全使用--privileged
可能是一个错误。如果确实需要管理主机的过程,则应直接(作为根用户)在主机上运行它,而不要在隔离层内部运行,该隔离层会阻止其尝试执行的操作。有一些有限的升级特权很有用,但是如果 eg 您的容器需要 mlock (2),则应--cap-add IPC_LOCK
以获得所需的特定特权,而不是开放整个世界。
(我的理解仍然是,generally considered a mistake是尝试在Docker内部运行Docker的首选,并且最好使用主机的Docker守护程序。当然,此 也可以对主机进行无限制的控制。 )
答案 1 :(得分:0)