OpenShift开发指南(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 Linux容器

容器是一个命令(或应用)运行的最基本单位。容器的每个运行实例都由容器镜像创建而成,目前容器镜像打包都采用统一的标准格式,即开放容器格式(Open Container Initiative,OCI)标准(https://oreil.ly/ZjwqR)。一个镜像会将一个应用程序的可执行文件与运行它所需的所有依赖文件打包在一起。这些依赖文件可以包括共享库、辅助程序、语言运行时和其他任何应用程序所需要的文件。我们可以将通过以上方式打包而成的镜像类比为快递包裹,由于这个镜像具备完整性、独立性和自治性等特点,因此它特别适合在各个不同的开发团队之间进行分发,能够在一系列连续发布周期中迅速部署到集群中的任意一个节点。

容器镜像存储在一个通常称为容器仓库的存储库中。Linux内核支持隔离和协调正在运行的容器。一个正在运行的容器有自己的文件系统,并且系统也定义了它能够获取的所在运行节点上面的资源份额。这种隔离允许一个容器编排器(比如Kubernetes)能够调度容器到拥有足够资源的节点上去,而不需要评估在那里运行的其他工作负载(应用软件)在文件名、网络端口号或其他资源方面可能存在的潜在冲突。