12.4. Source-to-Image (S2I)

Red Hat Software Collections イメージを、Node.js、Perl、Python などの特定のランタイム環境に依存するアプリケーションの基盤として使用することができます。これらのランタイムベースイメージの特殊なバージョンは Source-to-image (S2I) イメージと呼ばれています。S2I イメージを使用して、コードを、そのコードを実行できるベースイメージ環境に挿入することができます。

S2I イメージには、以下が含まれます。

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

S2Iイメージは、以下の手順でOpenShift Container PlatformのWebコンソールから直接利用することができます。

  1. ログイン認証情報を使用して OpenShift Container Platform Web コンソールにログインします。OpenShift Container Platform Web コンソールのデフォルトビューは Administrator パースペクティブです。
  2. パースペクティブスイッチャーを使用して、Developer パースペクティブに切り替えます。
  3. Add」ビューでは、リストから既存のプロジェクトを選択するか、「Project」ドロップダウンリストを使って新しいプロジェクトを作成します。
  4. タイル「Developer Catalog」の「All services」を選択します。
  5. TypeBuilder Image」を選択すると、利用可能なS2I画像が表示されます。

S2I イメージは、Cluster Samples Operator を設定して利用可能にすることもできます。

12.4.1. Source-to-Image ビルドプロセスの概要

Source-to-Image (S2I) は、ソースコードをコンテナーに挿入してソースコードを実行可能にすることで、実行可能な状態のイメージを生成します。S2I では、以下の手順を実行します。

  1. FROM <builder image> コマンドを実行します。
  2. ソースコードをビルダーイメージの定義された場所にコピーします。
  3. ビルダーイメージから assemble スクリプトを実行します。
  4. デフォルトコマンドとしてビルダーイメージに run スクリプトを設定します。

Buildah は次にコンテナーイメージを作成します。