Docker Cloud Sandboxes vs Azure Container Apps Sandboxes
Both give each agent a microVM with its own kernel and can stop it with its memory. Docker's is your laptop's sbx sandbox moved to the cloud, capped at 24 hours and 10 at a time, while Azure's lives in your Azure subscription with no session cap, a quota of 500 active cores and wake on traffic.
The companies and products
Docker Cloud Sandboxes
Docker Cloud Sandboxes runs Docker's sbx coding-agent microVMs on Docker-managed compute instead of your laptop.
Each sandbox is a microVM with its own Linux kernel and its own Docker Engine, started from the same sbx CLI you use locally, with Claude Code, Codex and other agents ready to run. You can move a sandbox from your laptop to the cloud and back, publish HTTPS ports and SSH in. It launched on September 24, 2026, is billed pay-as-you-go on a personal Docker account, and is built for developers who want their local agent sandboxes to keep going off their machine.
- Launched
- September 24, 2026
- Session length
- 1 hour by default, extendable to 24 hours from creation
- Default quota
- 10 concurrent and 50 stored sandboxes per account
- Regions
- Not published
Azure Container Apps Sandboxes
Azure Container Apps Sandboxes is a service inside Microsoft Azure that gives each agent or user an isolated microVM you create, suspend and resume through an SDK.
It is part of Azure Container Apps, the hyperscaler's serverless container platform, and lives in your Azure subscription as a sandbox group resource. Each sandbox boots from an OCI image or a snapshot, has its own kernel, and can be suspended with its memory and resumed in under a second. It is built for teams already on Azure that want stateful code execution with Azure networking, identity and billing.
Which use cases each one fits
For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “280th cheapest of 367” means 279 of the other 366 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.
| Use case and its workload | Docker Cloud Sandboxes: price rank | Azure Container Apps Sandboxes: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory runs many agents for days; Docker stops each one at 24 hours and runs 10 at a time, Azure has no cap but no SSH or /dev/kvm, and bochka has all of it. | 280th of 367, with limits $4,928 a month | 288th of 367, with limits $5,276 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month cannot do it in one Docker session; Azure keeps it running but bills every second, and bochka adds a desktop and SSH. | 276th of 366, with limits $5,110 a month | 302nd of 366, with limits $6,544 a month | 5th cheapest of 366 $657 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Azure fits short code runs best of the three: sandboxes suspend with their memory after idle time and resume in under a second. | 119th of 345, with limits $233 a month | 34th cheapest of 345 $354 a month | 186th of 345, with limits $2,000 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Serving your own users needs more than Docker's default of 10 sandboxes at once; Azure scales with its core quota, and bochka runs up to 2,000 self-serve. | 136th of 361, with limits $1,628 a month | 22nd cheapest of 361 $2,260 a month | Cheapest of 361 $209 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 114th of 360, with limits $7,000 a month | 153rd of 360, with limits $10,740 a month | 34th of 360, with limits $2,000 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month Evals run many sandboxes side by side, which Azure handles and Docker's 10-at-once default does not. | 167th of 364, with limits $1,400 a month | 75th cheapest of 364 $1,728 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI that builds Android apps or VM images needs /dev/kvm, which bochka exposes and neither Docker nor Azure documents. | 172nd of 377, with limits $672 a month | 103rd cheapest of 377 $1,046 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A dev box wants SSH and no session cap; Docker has SSH but a 24-hour cap, Azure has no cap but no SSH, and bochka has both. | 127th of 368, with limits $204 a month | 322nd of 368, with limits $262 a month | 18th cheapest of 368 $26 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Computer-use agents need a screen; Docker and Azure sandboxes are both headless, while bochka streams a Linux desktop at 60fps. | 268th of 369, with limits $1,400 a month | 279th of 369, with limits $1,573 a month | 6th cheapest of 369 $200 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month | 277th of 367, with limits $700 a month | 288th of 367, with limits $795 a month | 7th cheapest of 367 $200 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 262nd of 346, with limits $350 a month | 284th of 346, with limits $561 a month | 6th cheapest of 346 $90 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 190th of 338, with limits $7,000 a month | 239th of 338, with limits $10,956 a month | 71st of 338, with limits $1,800 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 248th of 360, with limits $350 a month | 278th of 360, with limits $517 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month | Can't run it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it | Can't run it |
Key features
| Feature | Docker Cloud Sandboxes | Azure Container Apps Sandboxes | bochka |
|---|---|---|---|
| Isolation | MicroVM with its own Linux kernel and its own Docker Engine | MicroVM per sandbox with its own kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Session length | 1 hour by default, at most 24 hours from creation; resuming starts a new timer | No cap; runs until stopped, deleted or suspended when idle | No cap on paid plans; you set the time to live |
| Sandboxes at once | 10 concurrent and 50 stored by default; no published way to raise it | 500 concurrent active cores by default; more by Azure support request, which can need review | 100 on the $20 plan, up to 2,000 on higher plans, self-serve |
| Stop, suspend and wake | Stop keeps memory and files; resume picks up where it left off | Auto-suspend with memory after an idle timeout; resume in under a second, woken by traffic or a start command | Auto-stop timer you set; disk saved every minute and on stop; resume boots the machine again |
| Fork | Snapshot a running sandbox with disk or disk and memory, then restore it as a new sandbox | Snapshot a running sandbox with its memory and create new sandboxes from it | Fork a running sandbox with its disk |
| Docker inside | Yes, its own Docker Engine in every sandbox; agent runs as a non-root user with sudo | Depends on the image: azure-dev ships Docker on systemd; the default ubuntu image has only Buildah | Docker, systemd and root on every sandbox |
| Nested virtualization | Not documented | Not documented | Yes, /dev/kvm for Android emulators and VMs |
| Getting a shell | sbx CLI, plus SSH with Docker-issued certificates | Interactive shell through the aca CLI, SDK or portal; no SSH | SSH, plus CLI and API exec |
| Desktop and browser | Terminal sessions only | Headless; no desktop or managed browser | 60fps Linux desktop with Chromium and computer-use tools |
| Inbound access | Public HTTPS URL per published port, not protected by Docker sign-in; not a TCP tunnel | Public HTTPS routes per published port; private endpoint from your VNet at extra cost; no public IP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Allow and deny rules by host, with allow-all, balanced and deny-all presets | Allow, deny, rewrite and header rules by host, path and method; VNet integration | Open internet, no provider-side allowlist |
| Coding agents and keys | Claude Code, Codex, Copilot, OpenCode and more from the sbx CLI; a cloud proxy sets auth headers so the sandbox sees a placeholder | Copilot CLI and Claude Code images run through the exec API; their tokens are injected into the sandbox at startup | Seven agents preinstalled with a prompt, steer and events API; credentials proxy for model providers and any HTTPS API |
| Laptop and cloud | Same microVM and CLI locally or in the cloud; move a sandbox either way | Cloud only, inside your Azure subscription | Cloud only |
| Regions and account | Regions not published; pay-as-you-go on a personal Docker account | 40 Azure regions, 9 in the EU; Microsoft Entra ID accounts only | EU only (Germany, Finland, France); sign in with GitHub, Google or an emailed code |
Every feature Battleships tracks (43)
| Feature | Docker Cloud Sandboxes | Azure Container Apps Sandboxes | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | Yes | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | Not published | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | Not published | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | Yes | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Yes | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | No | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | No | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for Docker Cloud Sandboxes or Azure Container Apps Sandboxes yet; neither is in the StarSling hpc-sandbox-benchmarks runs. bochka did 26.69 runs per second on that Node.js build-and-test benchmark at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Until Docker and Azure are measured on the same test, this page makes no speed claim between them.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Docker Cloud Sandboxes and Azure Container Apps Sandboxes have no published run in this suite yet, so there is no like-for-like number to compare.
Pricing in five scenarios
Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.
| Scenario | Docker Cloud Sandboxes, a month | Azure Container Apps Sandboxes, a month | bochka, a month |
|---|---|---|---|
| One coding agent, workdays 4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days | $49 · Docker Agentic Platform (pay-as-you-go) | $68 · Pay-as-you-go | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $204 · Docker Agentic Platform (pay-as-you-go) · with limits | $262 · Pay-as-you-go · with limits | $26 · $20/mo |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $2,464 · Docker Agentic Platform (pay-as-you-go) · with limits | $3,421 · Pay-as-you-go | $317 · $20/mo × 3 seats |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $700 · Docker Agentic Platform (pay-as-you-go) · with limits | $989 · Pay-as-you-go | $200 · $100/mo × 2 seats |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $1,400 · Docker Agentic Platform (pay-as-you-go) · with limits | $2,148 · Pay-as-you-go | $2,000 · $2000/mo · with limits |
Docker Cloud Sandboxes: Docker bills per second for the size you pick, from $0.07 an hour for 1 vCPU / 2 GiB to $1.12 an hour for 16 vCPU / 32 GiB, with no monthly fee. A stopped sandbox costs nothing, and volumes and egress are free.
Azure Container Apps Sandboxes: Azure bills per second on the Container Apps Consumption meters for the sandbox's tier while it runs, idle time before auto-suspend included. There is no plan fee, stopped sandboxes pay no CPU or memory, and some regions such as West Europe charge more.
Azure Container Apps Sandboxes: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Docker's 24-hour cap rules it out for one agent that never stops, and its default of 10 sandboxes at once rules it out for 50 agents in parallel, sandboxes for your users and 1,000 short jobs at once. Azure fits all three of those, but its always-on price of $262 a month needs a 3-year commitment, and its fleets stop at 500 active cores until support raises the quota. bochka fits every scenario but the burst, where even the $2,000 plan queues starts.
| Scenario | Docker Cloud Sandboxes | Azure Container Apps Sandboxes | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite | None that bite | None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
| None that bite | None that bite |
| Sandboxes for your users |
| None that bite | None that bite |
| 1,000 short jobs at once |
| None that bite |
|
Which one should you use?
Use Docker Cloud Sandboxes when
you already run agents in sbx on your laptop and want a few of them to keep going in the cloud for up to a day, with SSH and keys kept out of the sandbox.
- The same sandbox on your laptop. If you already run sbx locally, the cloud is the same microVM and CLI, and a sandbox can move either way.
- SSH and Docker in every sandbox. Each sandbox has its own Docker Engine and takes SSH, while Azure has no SSH and Docker depends on the image.
- Keys the sandbox never sees. Docker's cloud proxy adds the auth header outside the VM, so the agent only sees a placeholder, not the real key.
Use Azure Container Apps Sandboxes when
your team runs on Azure and needs many short stateful sandboxes that suspend with their memory, wake on traffic, follow strict egress rules or run outside the EU.
- No session cap, room to scale. A sandbox runs until you stop it, and 500 active cores by default fit fleets that Docker's 10-at-once quota cannot.
- Suspend with memory, wake on traffic. Idle sandboxes suspend with their memory and come back in under a second when traffic or a start command arrives.
- Inside Azure, in 40 regions. Teams on Azure get Entra ID, Azure billing, VNets and fine egress rules by host, path and method, in 40 regions.
Where bochka fits
Docker and Azure both give an agent a small headless microVM, one capped at a day and 10 at a time, the other tied to an Azure account and core quota. If your agents run for days or by the dozen, need emulators, a desktop or a browser, or must be driven from your own app, look at bochka.
Runs as long and as wide as the work
Docker ends a sandbox 24 hours after creation and runs 10 at a time with no published way to ask for more. Azure has no cap, but going past 500 active cores means a support request that can need review. bochka runs up to 2,000 self-serve.
A whole machine, screen included
Neither Docker nor Azure documents /dev/kvm, so an agent cannot start an Android emulator or a VM, and both are headless. To give an agent a browser there, you build a display and streaming stack yourself or add a separate service.
Drive agents inside from outside
Docker's agents are reached by attaching to their terminal from the sbx CLI, and Azure's run through raw exec. On either, you write a wrapper and parse the agent's text to know when it is done. bochka gives prompt, steer and structured events.
Use bochka when your agents run for days or by the dozen, need SSH, Docker, Android emulators, a desktop or a browser, or have to be driven from your own app through an API. Compare it one to one: bochka vs Docker Cloud Sandboxes and bochka vs Azure Container Apps Sandboxes.
Questions people ask
Is Docker Cloud Sandboxes cheaper than Azure Container Apps Sandboxes?
For one coding agent on workdays, yes: $49 a month on Docker against $68 on Azure for 4 vCPU / 8 GiB. But Docker does not fit 50 agents in parallel, user sandboxes or a 1,000-job burst, which Azure runs for $3,421, $989 and $2,148 a month. bochka runs the workday agent for $20.
Which is faster, Docker Cloud Sandboxes or Azure Container Apps Sandboxes?
Neither has been measured on the same benchmark yet, so there is no fair answer. bochka did 26.69 runs per second on the StarSling Node.js build-and-test benchmark at 4 vCPU / 8 GB.
Can a sandbox run longer than 24 hours?
Not on Docker: a cloud sandbox expires after one hour by default and cannot be extended past 24 hours from creation. Azure has no session cap; a sandbox runs until it is stopped, deleted or suspended for being idle. bochka has no session cap on paid plans.
Can I run Docker inside each sandbox?
Docker gives every sandbox its own Docker Engine. On Azure it depends on the image: azure-dev ships Docker on systemd, while the default ubuntu image has only Buildah. bochka runs Docker, systemd and root on every sandbox and also exposes /dev/kvm.
Can I SSH into Docker or Azure sandboxes?
Docker cloud sandboxes take SSH with Docker-issued certificates. Azure has no SSH and gives you a shell through the aca CLI, the SDK or the portal. Every bochka sandbox has an SSH endpoint and raw TCP inbound.
Do I need an Azure or Docker account?
Azure needs a subscription, a Microsoft Entra ID account and the Container Apps SandboxGroup Data Owner role. Docker bills its pay-as-you-go plan on a personal Docker account, even inside an organization. bochka signs you in with GitHub, Google or an emailed code.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Docker Cloud Sandboxes
- bochka vs Azure Container Apps Sandboxes
- E2B vs Docker Cloud Sandboxes
- Daytona vs Docker Cloud Sandboxes
- Modal vs Docker Cloud Sandboxes
- Vercel Sandbox vs Docker Cloud Sandboxes
- Cloudflare Sandbox vs Docker Cloud Sandboxes
- Blaxel vs Docker Cloud Sandboxes
- Runloop vs Docker Cloud Sandboxes
- Tensorlake vs Docker Cloud Sandboxes
- Morph Cloud vs Docker Cloud Sandboxes
- CodeSandbox SDK vs Docker Cloud Sandboxes