3.2.2. 镜像
OpenShift Container Platform 中的容器基于 Docker 格式的容器镜像。镜像是一种二进制文件,包含运行单一容器的所有要求以及描述其需求和功能的元数据。
您可以将其视为一种打包技术。容器只能访问其镜像中定义的资源,除非创建时授予容器其他访问权限。通过将同一镜像部署到跨越多个主机的多个容器内,并在它们之间进行负载平衡,OpenShift 容器平台可以为镜像中打包的服务提供冗余和横向扩展。
您可以直接使用 Docker CLI 构建镜像,但 OpenShift Container Platform 还提供构建器镜像,通过向现有镜像添加代码或配置来协助创建新的镜像。
由于应用程序会随时间推移开发,因此单个镜像名称实际上可以指代许多不同版本的"same"镜像。每个不同的镜像都由它的唯一哈希值引用(一个较长的十六进制数,如 fd44297e2ddb050ec4f…
),通常被缩短为 12 个字符(如 fd44297e2ddb
)。
镜像版本标签策略
除了版本号外,Docker 服务还允许应用标签(如 v1、
v2.1
、GA
或默认 最新
)来进一步指定所需的镜像,因此您可以看到同一镜像被称为 centos
(表示 latest
标签)、centos:centos7
或 fd44297e2ddb
。
对于任何官方 OpenShift Container Platform 镜像,不要使用 latest
标签。这些是以 openshift3/
开头的镜像。latest
可以引用多个版本,如 3.10
或 3.11
。
如何标记镜像指示更新策略。具体来说,镜像更新频率较低。使用以下项来确定您选择的 OpenShift Container Platform 镜像策略:
- vX.Y
-
vX.Y 标签指向 X.Y.Z-<number>。例如,如果
registry-console
镜像更新至 v3.11,它指向最新的 3.11.Z-<number> 标签,如 3.11.1-8。 - X.Y.Z
- 与上面的 vX.Y 示例类似,X.Y.Z 标签指向最新的 X.Y.Z-<number>。例如: 3.11.1 将指向 3.11.1-8
- X.Y.Z-<number>
- 标签是唯一的,不更改。使用此标签时,如果镜像被更新,则镜像不会更新。例如,3.11.1-8 始终会指向 3.11.1-8,即使镜像被更新也是如此。