12.4. Source-to-image

您可以将 Red Hat Software Collections 镜像用作依赖特定运行时环境(如 Node.js、Perl 或 Python)的应用程序的基础。您可以使用 Red Hat Java Source-to-Image for OpenShift 文档作为使用 Java 的运行时环境的参考。其中一些运行时基础镜像的特殊版本称为 Source-to-Image (S2I) 镜像。使用 S2I 镜像时,您可以将代码插入到可随时运行该代码的基础镜像环境中。

S2I 镜像包括:

  • .NET
  • Java
  • Go
  • Node.js
  • Perl
  • PHP
  • Python
  • Ruby

您可以按照以下流程直接从 OpenShift Container Platform Web 控制台使用 S2I 镜像:

  1. 使用您的登录凭证登录到 OpenShift Container Platform web 控制台。OpenShift Container Platform Web 控制台的默认视图是 Administrator 视角。
  2. 使用视角切换功能把它切换到 Developer 视角。
  3. +Add 视图中,从列表中选择现有项目,或者使用 Project 下拉列表创建新项目。
  4. Developer Catalog 中选择 All services
  5. 选择类型 Builder Images,然后查看可用的 S2I 镜像。

S2I 镜像也可以通过配置 Cluster Samples Operator 获得。

12.4.1. Source-to-image 构建过程概述

Source-to-Image(S2I)通过将源代码注入准备要运行的源代码的容器来生成可随时运行的镜像。它执行以下步骤:

  1. 运行 FROM <builder image> 命令
  2. 将源代码复制到构建器镜像中定义的位置
  3. 在构建器镜像中运行 assemble 脚本
  4. 将构建器镜像中的 run 脚本设置为默认命令

然后,Buildah 会创建容器镜像。

12.4.2. 其他资源