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:
this.ctx.container.start({
image: this.ctx.container.images.base,
enableInternet: false,
instance: "standard-2",
});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.