Comparison
These two barely compete, and the rate cards say so out loud. Cloudflare Containers is burst compute attached to a Worker — it wakes on a request, runs, and sleeps with an ephemeral disk. Containarium is a persistent Linux box you SSH into and come back to tomorrow. Here's the honest side-by-side, including the pricing math.
Same primitive — a container. Opposite center of gravity: a machine you keep vs a machine you rent for 90 seconds.
| Dimension | Containarium | Cloudflare Containers |
|---|---|---|
| Unit of deployment | A box — persistent LXC container or K8s sandbox | A container instance bound to a Durable Object, started from a Worker |
| Disk | Persistent, snapshot- and backup-capable | Ephemeral — a sleeping instance restarts with a fresh disk from the image |
| Max instance size | Bounded by the host — whole bare-metal nodes if you want | 4 vCPU / 12 GiB / 20 GB disk, hard ceiling |
| GPU | PCI passthrough, multiple GPUs per box | Not offered |
| Lifetime | Runs until you stop or delete it; optional TTL and auto-sleep | Sleeps after an idle timeout (10 min default); no guaranteed run duration |
| SSH | First-class login — per-user keys, routed through the sentinel, arbitrary ports | Debug access via a Wrangler proxy against your Cloudflare account; won't wake or keep an instance alive |
| Inbound networking | Routable hostname with TLS, exposed ports, custom domains | Through your Worker; end users can't open non-HTTP TCP or UDP to an instance |
| Outbound networking | Full egress, with optional eBPF egress policy per box | Internet by default, limited to ports 80/443 + DNS; optional Worker egress proxy |
| Placement | You choose the host, pool, or your own hardware — data residency is explicit | Nearest available edge location; not guaranteed, and not co-located with its Durable Object |
| Billing shape | Box uptime by size — predictable for always-on | Per-second: memory and disk on provisioned time, CPU on actual use |
| Egress cost | Your own bandwidth on self-host / BYOC | Very competitive — 1 TB included in NA/EU, then $0.025/GB |
| Open source | Yes — Apache 2.0; self-host on one VM as the first-class path | Proprietary, and coupled to the Workers platform |
Cloudflare figures are from their published pricing and limits documentation as of August 2026. Check their docs for current specifics.
Cloudflare publishes per-second rates, which makes the shape hard to see. Converted to per-month, the design intent is obvious: memory and disk bill on provisioned wall-clock time, CPU bills only on use. That is a rate card built for something that sleeps.
| Resource | Published rate | Per month (730 h) | Billed on |
|---|---|---|---|
| Memory | $0.0000025 / GiB-s | $6.57 / GiB | provisioned |
| vCPU | $0.000020 / vCPU-s | $52.56 / vCPU | actual use |
| Disk | $0.00000007 / GB-s | $0.18 / GB | provisioned |
Cloudflare wins
On a basic
instance (¼ vCPU, 1 GiB, 4 GB), ~167 billable hours works out to roughly
$3 a month. There is no dedicated-capacity model that
competes with that, and we won't pretend otherwise.
Watch the idle tail: the default 10-minute sleepAfter bills too,
which can double a short job's cost.
Containarium wins
standard-4, 24/7Their largest instance — 4 vCPU, 12 GiB, 20 GB — held awake for a month is $104 at 10% CPU and $293 at full tilt. The memory alone is $79 whether or not it does anything, because it bills on provisioned time.
And it still resets its disk every time it sleeps.
The crossover sits around 40–50% duty cycle. Below it, edge burst compute is cheaper than anything you can rent. Above it, dedicated capacity wins by roughly 3–5×.
Cloudflare states it plainly: "All disk is ephemeral. When a Container instance goes to sleep, the next time it is started, it will have a fresh disk as defined by its container image." That single sentence decides most architecture questions on their platform.
It means every apt install,
every warmed build cache, every cloned repo and every uncommitted edit disappears after the idle
timeout. The documented workaround is mounting object storage over FUSE, which gives you a
bucket wearing a filesystem costume — fine for artifacts, wrong for a home directory,
node_modules,
or anything with real POSIX semantics. Snapshots are on their roadmap, not in the product.
A Containarium box keeps its disk. That is not a feature we bolted on — it is the reason the box exists.
It's the obvious question once you see SSH in their changelog, so here is the honest scorecard against the three things a dev box has to do:
wrangler,
which authenticates against your Cloudflare account, so the real credential is account access
rather than a key. And an open session won't keep the instance alive.
git+ssh://
and anything on a custom port won't connect.
Two out of three — and the missing one poisons the other two. Installing packages on a machine that forgets them isn't a dev box; it's a CI runner with extra steps. (Cloudflare Workers on its own is a flat no here: a V8 isolate has no filesystem, no processes and no shell.)
Two of the differences aren't gaps you can close with budget. Instances top out at 4 vCPU / 12 GiB / 20 GB, with a minimum 3 GiB of memory per vCPU and a maximum 2 GB of disk per GiB of memory — so you can't buy a CPU-dense or disk-heavy shape at any price. And there is no GPU option at all.
A single set of model weights blows past both limits. Anyone fine-tuning, serving a local model, or keeping a workspace alive across a week is outside the platform's envelope by construction — which is exactly the workload Containarium boxes and GPU passthrough exist for.
Two things, and they're real. Egress: 1 TB included in North America and Europe, then $0.025/GB, is far below what the major clouds charge and well below what most self-hosting works out to at volume. And placement: instances start at the nearest edge location with a pre-fetched image, with no work from you. If your workload is latency-sensitive to end users worldwide and short enough that state doesn't matter, that combination is hard to argue with.
The honest framing is a barbell, not a shootout. Short, stateless, request-triggered, under the ceiling → their side. Persistent, large, GPU-backed, SSH-native, or pinned to hardware in a specific place → ours.
Cloudflare Containers is burst compute attached to a Worker: an instance is started from your Worker code through a Durable Object, serves work, and sleeps — coming back with a fresh disk from the image. Containarium gives you a persistent Linux box with real root, persistent disk, systemd, a routable hostname and SSH, which stays as you left it until you delete it.
Not practically. Workers itself is a V8 isolate with no filesystem, processes or SSH. Cloudflare Containers does support SSH via Wrangler and packages install fine — but all container disk is ephemeral, so everything you installed is gone after the idle timeout. Containarium boxes are built for exactly this: install once, come back tomorrow, state intact.
It's almost entirely a duty-cycle question. Cloudflare bills memory and disk on provisioned wall-clock and CPU on actual use, so short jobs that sleep cost pennies. A continuously-running standard-4 is roughly $104–$293/month at their published rates for 4 vCPU and 12 GiB. The crossover is around 40–50% duty cycle.
No. Instance types top out at 4 vCPU, 12 GiB and 20 GB of disk with no GPU option. Containarium supports PCI-level GPU passthrough, including multiple GPUs per box, on bare-metal nodes you own or bring.
When the work is short, stateless and request-triggered, fits inside 4 vCPU and 12 GiB, and benefits from running close to the user — especially if you're already on Workers or move a lot of egress. Their edge placement and bandwidth pricing are genuinely strong there.
Persistent disk, real SSH, GPUs on request. Start free on the hosted cloud, or self-host the open source on your own VM.
Also comparing? vs E2B · vs Modal · vs Daytona · vs AWS Lambda