openaijamodel: gpt-5-mini-2025-08-07
Containers: exec() が利用可能に
Key Points
- this.ctx.container.exec() が利用可能
- 標準入出力をストリーム対応
- コマンドは暗黙のシェルなし
Summary
Cloudflare Containersで this.ctx.container.exec() が利用可能になりました。実行中のコンテナ内でプロセスを起動し、標準入出力をストリームし、終了コードを取得し、プロセスへシグナルを送ることができます。Container を継承したクラス内、または別の Durable Object から this.ctx.container 経由で呼び出します。対象のコンテナは既に起動している必要があります。
Key Points
- 呼び出し例:
await this.ctx.container.exec(["node","--version"])。戻り値のプロセスからawait process.output()で出力とexitCodeを取得。 - コンテナが停止している場合は
if (!this.ctx.container.running) { await this.start(); }のように起動してから実行する。 - コマンド配列は暗黙のシェルを介しません。パイプやリダイレクト、変数展開が必要な場合は明示的にシェルを起動する(例:
sh -c '...')。 - 標準入力の ReadableStream を渡したり、標準出力/標準エラーをストリーミングで受け取ることができ、フロー制御にも対応。
- 1回の RPC 呼び出しで複数の
exec()をまとめて実行してコーディネート可能。 - 詳細なオプションやストリーミング例はドキュメントの「Execute commands」を参照してください。