10.3. Source-to-Image イメージのカスタマイズ
デフォルトのアセンブルおよび実行スクリプトの動作を変更するには、Source-to-Image (S2I) ビルダーイメージをカスタマイズします。デフォルトのスクリプトが適切でない場合は、特定のアプリケーション要件に合わせて S2I ビルダーを調整できます。
10.3.1. イメージに埋め込まれたスクリプトの呼び出し リンクのコピーリンクがクリップボードにコピーされました!
埋め込まれた S2I イメージスクリプトを呼び出すには、カスタムロジックとデフォルトスクリプトを実行するラッパースクリプトを作成します。サポートされているスクリプトロジックとアップグレードの互換性を維持しながら、ビルダーイメージの動作を拡張するには、これを実行する必要があります。
手順
ビルダーイメージ内のスクリプトの場所を判別するには、
io.openshift.s2i.scripts-urlラベルの値を確認します。$ podman inspect --format='{{ index .Config.Labels "io.openshift.s2i.scripts-url" }}' wildfly/wildfly-centos7出力例
image:///usr/libexec/s2iwildfly/wildfly-centos7ビルダーイメージを検査し、スクリプトが/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