确定容器是否使用服务器包或其自己的确定方法

确定容器是否使用服务器包或其自己的确定方法

我对容器化的理解是有限的,所以这个问题可能被误导了,但我知道 Docker 容器利用其主机系统的一些内核资源来保持相对轻量级。据我所知,这可以扩展到操作系统分布式软件包(例如 binutils)。

假设我没有错误地认为 docker 容器有能力利用主机提供的包,是否有一种标准方法来枚举容器在托管时打算/期望在给定服务器上找到的所有包?

答案1

我知道 Docker 容器利用其主机系统的一些内核资源来保持相对轻量级。

是的,容器共享主机内核。

据我所知,这可以扩展到操作系统分布式软件包(例如 binutils)。

,但这非常不寻常,并且需要在容器外部进行手动设置 - 基本上,您需要从主机挂载一个卷,允许容器访问其文件系统的相关部分。

在绝大多数情况下,容器的用户空间部分与主机完全分离。没有标准方法来枚举容器期望在主机上找到的包,因为容器通常没有这样的期望,并且它们没有办法声明这样的期望。如果您遇到这样的容器,文档应该告诉您它的情况,以及它是否有任何类型的部署描述符(例如Kubernetes 的 Helm 图表),它将包括所需的卷和挂载点(但这不会告诉您它需要主机提供什么)。

容器实际上与主机无关:它们在具有适当容器运行时的任何系统上运行,并且主机可以使用它想要的任何包系统,甚至根本不使用。因此,容器甚至没有必要的概念来要求主机提供包;它将违背容器背后的一些基本原则。

相关内容