10.3. Source-to-Image イメージのカスタマイズ
OpenShift Container Platform のデフォルトのアセンブルおよび実行スクリプトの動作を変更するには、ソースからイメージへの変換 (S2I) ビルダーイメージをカスタマイズできます。デフォルトのスクリプトが適切でない場合は、特定のアプリケーション要件に合わせて S2I ビルダーを調整できます。
10.3.1. イメージに埋め込まれたスクリプトの呼び出し リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform でサポートされているスクリプトロジックとアップグレード互換性を維持しながら、ビルダーイメージの動作を拡張するには、ラッパースクリプトを作成して組み込みの S2I イメージスクリプトを開始できます。これらのラッパースクリプトはカスタムロジックを実行し、その後イメージ内のデフォルトスクリプトを呼び出します。
手順
io.openshift.s2i.scripts-urlラベルの値を調べて、ビルダーイメージ内のスクリプトの場所を特定します。$ podman inspect --format='{{ index .Config.Labels "io.openshift.s2i.scripts-url" }}' wildfly/wildfly-centos7出力例
image:///usr/libexec/s2i他のコマンドでラップされた標準スクリプトのいずれかの呼び出しを含むスクリプトを作成します。
.s2i/bin/assembleスクリプト#!/bin/bash echo "Before assembling" /usr/libexec/s2i/assemble rc=$? if [ $rc -eq 0 ]; then echo "After successful assembling" else echo "After failed assembling" fi exit $rc以下の例では、メッセージを出力するカスタムの assemble スクリプトを表示し、イメージから標準の assemble スクリプトを実行して、assemble スクリプトの終了コードに応じて別のメッセージを出力します。
重要run スクリプトをラップする場合には、スクリプトの呼び出しに
execを実行して、シグナルが正しく処理されるようにする必要があります。execを使用すると、デフォルトのイメージ実行スクリプトを呼び出した後に追加でコマンドを実行できなくなります。.s2i/bin/runスクリプト#!/bin/bash echo "Before running application" exec /usr/libexec/s2i/run