12.2. 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 镜像:
- 使用您的登录凭证登录到 OpenShift Container Platform web 控制台。OpenShift Container Platform Web 控制台的默认视图是 Administrator 视角。
- 使用视角切换功能把它切换到 Developer 视角。
- 在 +Add 视图中,使用 Project 下拉列表选择现有项目或创建新项目。
- 点 Developer Catalog 标题中的 All services。
- 点 Type 下的 Builder Images 以查看可用的 S2I 镜像。
S2I 镜像也可以通过 Cluster Samples Operator 获得。
12.2.1. Source-to-image 构建过程概述
Source-to-Image(S2I)通过将源代码注入准备要运行的源代码的容器来生成可随时运行的镜像。它执行以下步骤:
-
运行
FROM <builder image>
命令 - 将源代码复制到构建器镜像中定义的位置
- 在构建器镜像中运行 assemble 脚本
- 将构建器镜像中的 run 脚本设置为默认命令
然后,Buildah 会创建容器镜像。