確定容器是否使用伺服器套件或其自己的確定方法

確定容器是否使用伺服器套件或其自己的確定方法

我對容器化的理解是有限的,所以這個問題可能被誤導了,但我知道 Docker 容器利用其主機系統的一些核心資源來保持相對輕量級。據我所知,這可以擴展到作業系統分散式軟體包(例如 binutils)。

假設我沒有錯誤地認為 docker 容器有能力利用主機提供的包,是否有一種標準方法來枚舉容器在託管時打算/期望在給定伺服器上找到的所有包?

答案1

我知道 Docker 容器利用其主機系統的一些核心資源來保持相對輕量級。

是的,容器共享主機核心。

據我所知,這可以擴展到作業系統分散式軟體包(例如 binutils)。

,但這非常不尋常,並且需要在容器外部進行手動設定 - 基本上,您需要從主機掛載一個卷,允許容器存取其檔案系統的相關部分。

在絕大多數情況下,容器的使用者空間部分與主機完全分離。沒有標準方法來列舉容器期望在主機上找到的包,因為容器通常沒有這樣的期望,而且它們沒有辦法聲明這樣的期望。如果您遇到這樣的容器,文件應該告訴您它的情況,以及它是否有任何類型的部署描述符(例如Kubernetes 的 Helm 圖表),它將包括所需的磁碟區和掛載點(但這不會告訴您它需要主機提供什麼)。

容器實際上與主機無關:它們在具有適當容器運行時的任何系統上運行,並且主機可以使用它想要的任何套件系統,甚至根本不使用。因此,容器甚至沒有必要的概念來要求主機提供包;它將違背容器背後的一些基本原則。

相關內容