[英]Is it safe to run docker in docker on Openshift?
我在可以為 Jenkins 運行 CI-CD 的服務器上構建了 Docker 映像。 因為有些構建使用 Docker,所以我在我的鏡像中安裝了 Docker,為了允許內部 Docker 運行,我必須給它--privilege
。
一切正常,但我想在 Openshift(或 Kubernetes)上的 docker 中運行 docker。 問題在於獲得--privilege
權限。
在 Openshift 上運行特權容器是否危險,如果是,為什么以及危險程度如何?
特權容器可以重新啟動主機、替換主機的內核、訪問任意主機設備(如原始磁盤設備)以及重新配置主機的網絡堆棧等。 我認為它非常危險,並不比在主機上以 root 身份運行進程更安全。
我建議完全使用--privileged
可能是一個錯誤。 如果你真的需要一個進程來管理主機,你應該直接(以 root 身份)在主機上運行它,而不是在阻止它試圖做的事情的隔離層內。 有一些有限的提升權限的東西是有用的,但是如果例如您的容器需要mlock (2),您應該--cap-add IPC_LOCK
以獲得您需要的特定權限,而不是打開整個世界。
(我的理解仍然是,嘗試在 Docker 內部運行 Docker通常被認為是錯誤的,最好使用主機的 Docker 守護進程。當然,這也提供了對主機的無限控制......)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.