Skip to main content

仕組み

大まかに言うと、テンプレートのビルドは次のように動作します。
  1. 標準ベースイメージ、既存のイメージ、Dockerfile、または別のテンプレートなどのテンプレートソースを解決します。
  2. runCmdcopymakeDirsetEnvs、およびパッケージインストール用ヘルパーなどのテンプレート命令を適用します。
  3. 設定されている場合は、テンプレートの開始コマンドを起動します。
  4. 準備完了コマンドが成功するまで待ちます。
  5. 準備済みの環境を再利用可能なテンプレートとして保存します。
ビルドにより、templateId / template_idbuildId / build_id が生成されます。後で Sandbox.create(...) でテンプレート ID を使用します。

ユーザーと作業ディレクトリ

テンプレートでは、後続のビルドステップおよび最終環境で使用されるデフォルトの Linux ユーザーと作業ディレクトリを設定できます。 ビルドコマンドを特定のユーザーとして実行する必要がある場合は、setUser(...) / set_user(...) を使用します。後続のコマンドやコピーされたファイルを特定のディレクトリからの相対パスとして解決したい場合は、setWorkdir(...) / set_workdir(...) を使用します。
これらの値を設定しない場合、sandbox は選択されたベースイメージのデフォルトを使用します。

キャッシュ

テンプレートのビルドでは、以前に完了したレイヤーがキャッシュされるため、繰り返しビルドする際にすべての命令を再実行する必要はありません。 通常、これは高速な反復作業に適しています。完全に新しいビルドが必要な場合は、skipCache: true / skip_cache=True でビルド全体のキャッシュを無効にするか、skipCache() / skip_cache() でテンプレートチェーンにマークを付けます。
キャッシュバスティングは意図的に使用してください。ビルドが遅くなるため、通常は依存関係の更新、デバッグ、またはテンプレート定義だけからは見えない入力の変更に限定して使用するべきです。
最終更新日 2026年8月10日