4.3. Source-to-Image によるソースコードからのイメージの作成
Source-to-Image (S2I) は、アプリケーションのソースコードを入力として取り、アセンブルされたアプリケーションを出力として実行する新規イメージを生成するイメージを簡単に作成できるようにするフレームワークです。
再生成可能なコンテナーイメージのビルドに S2I を使用する主な利点として、開発者の使い勝手の良さが挙げられます。ビルダーイメージの作成者は、イメージが最適な S2I パフォーマンスを実現できるように、ビルドプロセスと S2I スクリプトの基本的なコンセプト 2 点を理解する必要があります。
4.3.1. Source-to-Image ビルドプロセスについて リンクのコピーリンクがクリップボードにコピーされました!
ビルドプロセスは次の 3 つの基本要素で構成されます。これらを組み合わせて最終的なコンテナーイメージが作成されます。
- ソース
 - Source-to-Image (S2I) スクリプト
 - ビルダーイメージ
 
					S2I は、最初の FROM 命令として、ビルダーイメージで Dockerfile を生成します。S2I によって生成される Dockerfile は Buildah に渡されます。
				
4.3.2. Source-to-Image スクリプトの作成方法 リンクのコピーリンクがクリップボードにコピーされました!
					Source-to-Image (S2I) スクリプトは、ビルダーイメージ内でスクリプトを実行できる限り、どのプログラム言語でも記述できます。S2I は assemble/run/save-artifacts スクリプトを提供する複数のオプションをサポートします。ビルドごとに、これらの場所はすべて、以下の順番にチェックされます。
				
- ビルド設定に指定されるスクリプト
 - 
							アプリケーションソースの 
.s2i/binディレクトリーにあるスクリプト - 
							
io.openshift.s2i.scripts-urlラベルを含むデフォルトの URL にあるスクリプト 
					イメージで指定した io.openshift.s2i.scripts-url ラベルも、ビルド設定で指定したスクリプトも、以下の形式のいずれかを使用します。
				
- 
							
image:///path_to_scripts_dir: S2I スクリプトが配置されているディレクトリーへのイメージ内の絶対パス。 - 
							
file:///path_to_scripts_dir: S2I スクリプトが配置されているディレクトリーへのホスト上の相対パスまたは絶対パス。 - 
							
http(s)://path_to_scripts_dir: S2I スクリプトが配置されているディレクトリーの URL。 
| スクリプト | 説明 | 
|---|---|
|   
									  |   
									 
  | 
|   
									  |   
									  | 
|   
									  |   
									 
 
									これらの依存関係は   | 
|   
									  |   
									  | 
|   
									  |   
									 
 注記 
										  | 
S2I スクリプトの例
					以下の S2I スクリプトの例は Bash で記述されています。各例では、tar の内容が /tmp/s2i ディレクトリーに展開されていることを前提としています。
				
assemble スクリプト:
run スクリプト:
run the application
#!/bin/bash
# run the application
/opt/application/run.sh
save-artifacts スクリプト:
usage スクリプト: