增強型容器隔離 (ECI) 常見問題解答

啟用 ECI 後,我是否需要更改使用 Docker 的方式?

不需要,您可以繼續像往常一樣使用 Docker。ECI 在後臺執行,建立一個更安全的容器。

所有容器工作負載都能與 ECI 良好地配合使用嗎?

絕大多數容器工作負載可以在啟用 ECI 的情況下正常執行,但少數工作負載不能(尚未)。對於那些尚未與增強型容器隔離配合使用的少數工作負載,Docker 正在繼續改進此功能,以最大程度地減少這種情況。

我可以在 ECI 中執行特權容器嗎?

是的,您可以在容器中使用 --privileged 標誌,但與沒有 ECI 的特權容器不同,該容器只能使用其提升的特權訪問分配給該容器的資源。它無法訪問 Docker Desktop Linux 虛擬機器中的全域性核心資源。這使您可以安全地執行特權容器(包括 Docker-in-Docker)。有關更多資訊,請參見 主要功能和優勢

所有特權容器工作負載都可以在 ECI 中執行嗎?

不能。希望訪問 Docker Desktop Linux 虛擬機器中的全域性核心資源的特權容器工作負載將無法執行。例如,您無法使用特權容器載入核心模組。

為什麼不直接限制 --privileged 標誌的使用?

特權容器通常用於在容器中執行高階工作負載,例如 Docker-in-Docker 或 Kubernetes-in-Docker,執行核心操作(如載入模組)或訪問硬體裝置。

ECI 允許執行高階工作負載,但拒絕執行核心操作或訪問硬體裝置的能力。

ECI 是否會限制容器內的繫結掛載?

是的,它會限制將位於 Docker Desktop Linux 虛擬機器中的目錄繫結掛載到容器中。

它不會限制將您的主機檔案繫結掛載到容器中,如透過 Docker Desktop 的 **設定** > **資源** > **檔案共享** 配置的那樣。

啟用 ECI 後,我是否可以將主機的 Docker 套接字掛載到容器中?

預設情況下,ECI 會出於安全原因阻止將主機的 Docker 套接字繫結掛載到容器中。但是,此操作有一些合法用例,例如使用 Testcontainers 進行本地測試。

為了支援此類用例,可以配置 ECI 允許將 Docker 套接字掛載到容器中,但這僅限於您選擇的(即,受信任的)容器映象,甚至可以限制容器可以透過套接字傳送到 Docker 引擎的命令。請參見 ECI Docker 套接字掛載許可權

ECI 是否會保護所有使用 Docker Desktop 啟動的容器?

尚未。它會保護使用者透過 docker createdocker run 啟動的所有容器。

在 Docker Desktop 4.30 之前,它不會隱式地保護由 docker builddocker 構建驅動程式(預設驅動程式)一起使用的容器。從 Docker Desktop 4.30 開始,它會保護此類容器,但 Docker Desktop 在 WSL 2(Windows 主機)上除外。

請注意,自 Docker Desktop 4.19 起,在所有受支援的平臺(帶有 WSL 2 或 Hyper-V 的 Windows、Mac 和 Linux)上,ECI 始終會保護使用 docker-container 構建驅動程式docker build 使用的容器。

ECI 尚未保護 Docker Desktop Kubernetes Pod、擴充套件容器和 開發環境容器

ECI 是否會保護在啟用 ECI 之前啟動的容器?

不會。在啟用 ECI 之前建立的容器不受保護。因此,我們建議在啟用 ECI 之前刪除所有容器。

ECI 是否會影響容器的效能?

ECI 對容器的效能影響很小。唯一的例外是執行大量 mountumount 系統呼叫的容器,因為這些呼叫會被 Sysbox 容器執行時捕獲和驗證,以確保它們不被用於破壞容器的檔案系統。

使用 ECI 後,使用者是否仍可以從 CLI 覆蓋 --runtime 標誌?

不會。啟用 ECI 後,Sysbox 會被設定為 Docker Desktop 使用者部署容器的預設(也是唯一的)執行時。如果使用者嘗試覆蓋執行時(例如,docker run --runtime=runc),則會忽略此請求,並且容器將透過 Sysbox 執行時建立。

之所以在 ECI 中停用 runc,是因為它允許使用者以“真實 root”身份在 Docker Desktop Linux 虛擬機器中執行,從而為他們提供對虛擬機器的隱式控制權,以及修改 Docker Desktop 管理配置的能力,例如。

ECI 與 Docker Engine 的 userns-remap 模式有何不同?

請參見 工作原理

ECI 與無根 Docker 有何不同?

請參見 工作原理