第 3 章 了解容器、镜像和镜像流

当您设置为创建和管理容器化软件时,务必要理解容器、镜像和镜像流等重要概念。镜像包含一组准备就绪可运行的软件,容器是容器镜像的一个运行实例。镜像流提供了一种方法来存储相同基本镜像的不同版本。这些不同版本通过相同镜像名称的不同标签(tag)来表示。

3.1. 镜像

OpenShift Container Platform 中的容器基于 OCI 或 Docker 格式的容器镜像创建。镜像是一种二进制文件,包含运行单一容器的所有要求以及描述其需求和功能的元数据。

您可以将其视为一种打包技术。容器只能访问其镜像中定义的资源,除非创建时授予容器其他访问权限。通过将同一镜像部署到跨越多个主机的多个容器内,并在它们之间进行负载平衡,OpenShift 容器平台可以为镜像中打包的服务提供冗余和横向扩展。

您可以直接使用 podmanDocker CLI 构建镜像,但 OpenShift Container Platform 也提供了构建程序(builder)镜像,这有助于通过将您的代码或配置添加到现有镜像来创建新镜像。

由于应用程序会随时间发展,因此单个镜像名称实际上可以指代同一镜像的许多不同版本。每个不同的镜像都会有一个代表它的唯一哈希值(一个较长的十六进制值,如 fd44297e2ddb050ec4f…​),它通常会被缩短为一个 12 位长的值(如 fd44297e2ddb)。