Feature
New scheduling policy for Containers to configure image and instance from Durable Objects
Containers now support the durable_object scheduling policy in public beta. This policy lets a Durable Object select the image and instance size for a Container at runtime instead of using one centrally managed configuration for the application.
To use custom images, configure the policy and one or more named images in Wrangler:
{ "containers": [ { "class_name": "AgentComputer", "scheduling_policy": "durable_object", "images": { "base": { "dockerfile": "./container/Dockerfile", }, }, }, ], }
[[containers]] class_name = "AgentComputer" scheduling_policy = "durable_object" [containers.images.base] dockerfile = "./container/Dockerfile"
Wrangler prepares each image and exposes its immutable reference through ctx.container.images. Supply that reference and an instance size when you start the Container:
src/index.js
this.ctx.container.start({ image: this.ctx.container.images.base, enableInternet: false, instance: "standard-2", });
src/index.ts
this.ctx.container.start({ image: this.ctx.container.images.base, enableInternet: false, instance: "standard-2", });
The durable_object policy also supports the new cloudflare/debian-trixie Cloudflare-managed image, which includes Node.js 24.20.0 on Debian Trixie slim. Start it directly without configuring a named image.
Durable Object-managed Container instances have independent lifecycles and do not participate in application-wide image rollouts.
For configuration, runtime sizing, snapshots, and update behavior, refer to Scheduling Policies.
Read the original announcement