Docker Cloud Sandboxes vs Unikraft Cloud
Both run each workload in its own microVM. Docker Cloud Sandboxes gives a coding agent a small Linux machine with its own Docker Engine for up to a day, while Unikraft Cloud turns a Dockerfile into a tiny microVM that wakes in milliseconds and sleeps when traffic stops.
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
Unikraft Cloud
Unikraft Cloud is a microVM cloud from Unikraft Inc. that runs any Dockerfile-based workload as a minimal Linux microVM with millisecond cold starts and scale-to-zero.
Your Dockerfile becomes the VM image at build time, and each instance runs on a heavily customized Firecracker VMM, so it boots in milliseconds and can go into standby when no traffic arrives. It is a general compute platform built for dense, bursty work such as HTTP services, headless browsers and agent fleets, sold as flat self-serve plans plus Enterprise dedicated hosts, on-prem and bring your own cloud. It is not a dev machine you log into: instances are reached through services, the CLI and a sandbox plugin for commands and files.
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 | Unikraft Cloud: 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 agents for days with Docker inside; Docker stops each sandbox at 24 hours, and Unikraft documents no container runtime inside an instance. | 280th of 367, with limits $4,928 a month | Can't run it | 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 hits Docker's 24-hour session cap, and on Unikraft it shares a small memory pool with every other running instance. | 276th of 366, with limits $5,110 a month | Can't run it | 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 Short code runs suit both: Docker bills small sandboxes by the second, and Unikraft instances sleep between calls and wake in milliseconds. | 119th of 345, with limits $233 a month | Can't run it | 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 10 concurrent sandboxes or Unikraft's 24 running instances on Pro, so both point you to a quota raise or a contract. | 136th of 361, with limits $1,628 a month | Can't run it | 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 | Can't run it | 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 | 167th of 364, with limits $1,400 a month | Can't run it | 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 on every plan, Docker does not document, and Unikraft keeps for Enterprise. | 172nd of 377, with limits $672 a month | Can't run it | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Unikraft keeps a box around all month with no session cap but no SSH, while Docker has SSH but ends each sandbox 24 hours after creation. | 127th of 368, with limits $204 a month | 219th of 368, with limits $39 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; neither Docker nor Unikraft ships a desktop, while bochka streams one at 60fps with Chromium. | 268th of 369, with limits $1,400 a month | Can't run it | 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 Browser teams run their own headless Chrome on Unikraft at scale, Docker's sandboxes are terminal only, and bochka ships Chromium on a desktop. | 277th of 367, with limits $700 a month | Can't run it | 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 | Can't run it | 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 | Can't run it | 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 | Can't run it | 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 | Unikraft Cloud | bochka |
|---|---|---|---|
| Isolation | MicroVM with its own Linux kernel; hypervisor not named | Minimal Linux microVM on a customized Firecracker VMM | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Machine size | 1 vCPU / 2 GiB up to 16 vCPU / 32 GiB per sandbox | Plan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above |
| Session length | 1 hour by default, at most 24 hours from creation | No published cap; instances run until stopped or go into standby | No cap on paid plans; you set the time to live |
| Running at once | 10 by default; no published way to raise it | 2 / 8 / 24 running instances on Hobby / Team / Pro; more on Enterprise | 100 on the $20 plan, up to 2,000 on higher plans, self-serve |
| Docker inside | Yes, its own Docker Engine; agent runs as a non-root user with sudo | The Dockerfile becomes the VM image; no container runtime inside documented | Yes, with root and systemd |
| Nested virtualization | Not documented | Yes, with a per-instance flag, Enterprise only | Yes, /dev/kvm for Android emulators and VMs on every plan |
| SSH | Yes, with Docker-issued certificates | Not yet; commands and files go through the sandbox plugin and CLI | Yes, into every sandbox |
| Idle and wake | Stop keeps memory and files; resume picks up where it left off | Standby after a 1 second idle cooldown by default; incoming traffic wakes it in milliseconds | Disk saved every minute and on stop; a stopped sandbox costs nothing and boots again on start |
| Desktop and browser | Terminal sessions only | None built in; you can run your own headless browser from a Dockerfile | 60fps Linux desktop with Chromium and computer use |
| Inbound access | Public HTTPS URL per published port; not a TCP tunnel | Load balancer services: HTTP, HTTPS and TLS-wrapped TCP; no public IP per instance | 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 | Network shield filters traffic, Enterprise only, limited access | Open internet, no provider-side allowlist |
| Coding agents | Claude Code, Codex, Copilot, OpenCode and more, run and attached to from the sbx CLI | None preinstalled; you bring the agent in your own image | Seven agents preinstalled, with a prompt, steer and events API to drive them from outside |
| Keeping API keys out of the sandbox | Cloud proxy sets the auth header for built-in AI services and custom hosts | Network shield can inject secrets into traffic, Enterprise only | Credentials proxy for model providers and any HTTPS API, on every plan |
| Regions | Not published | Dallas, Frankfurt, San Francisco, Singapore and Washington DC, more on request | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | Docker Cloud Sandboxes | Unikraft Cloud | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Not published | 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 | Not published | 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 | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | No | 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 CPU measurement for Docker Cloud Sandboxes or Unikraft Cloud: neither is in the hpc-sandbox-benchmarks runs. bochka did 26.69 runs per second on the Node.js build-and-test benchmark at 4 vCPU / 8 GB. Unikraft states cold starts under 10 ms, which is its own figure and measures start time, not CPU speed.
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 Unikraft Cloud 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 | Unikraft Cloud, 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) | $39 · Hobby | $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 | $39 · Hobby | $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 | Can't run it | $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 | Can't run it | $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 | Can't run it | $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.
Unikraft Cloud: Unikraft charges a flat monthly fee for a pool of running capacity: free for 2 vCPU / 4 GiB, $39 for 8 vCPU / 8 GiB, $199 for 24 vCPU / 32 GiB, with sleeping instances not counted. It publishes no per-hour rate, so anything bigger is an Enterprise quote.
Unikraft Cloud: 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 ends every sandbox 24 hours after creation, so one agent that never stops does not fit in a single session, and its default of 10 concurrent sandboxes rules it out for 50 agents, sandboxes for your users and 1,000 short jobs. Unikraft has no session cap, but its pools are small: Team's 8 vCPU and 8 GiB hold one 4 vCPU / 8 GB agent, and no self-serve plan fits the three fleet scenarios. bochka fits all but the 1,000-job burst, where its start limits queue starts even on the $2,000 plan.
| Scenario | Docker Cloud Sandboxes | Unikraft Cloud | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Docker Cloud Sandboxes when
you already run coding agents in sbx on your laptop and want a few of them to keep going in the cloud for up to a day, with Docker inside and strict outbound rules.
- Built for coding agents. Teams running Claude Code or Codex get a sandbox with its own Docker Engine and the agents ready to start.
- The same sandbox on your laptop. If you already use sbx locally, the cloud runs the same microVM and CLI, and you can move a sandbox either way.
- Outbound rules on self-serve. Teams that must limit where an agent connects can set allow and deny rules by host without an enterprise contract.
Use Unikraft Cloud when
you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, or need US or Asia regions.
- Millisecond starts and scale-to-zero. Best for many small services that sleep most of the time and must answer the next request in milliseconds.
- No session cap. An instance can stay up all month, or sleep and wake on traffic, with no 24-hour limit to work around.
- Regions and hardware choices. Default metros span the US, Frankfurt and Singapore, and Enterprise adds GPUs, arm64, on-prem or your own cloud.
Where bochka fits
Docker Cloud Sandboxes is built for coding agents but stops them after a day and runs 10 at a time, and Unikraft Cloud wakes fast but is not a machine an agent can work inside. If your agents need a whole Linux machine for days, by the dozen, with a screen, look at bochka.
Runs as long and as wide as the work
Docker ends a sandbox 24 hours after creation and allows 10 at once; Unikraft's largest self-serve pool is 24 instances sharing 32 GiB. bochka has no session cap on paid plans and runs 100 at once from $20.
A whole machine, screen included
Agents start databases with docker compose and run Android emulators. Unikraft has no container runtime inside and keeps /dev/kvm for Enterprise, and Docker documents no /dev/kvm or desktop; bochka has both, plus a 60fps desktop.
Drive agents inside from outside
On Docker you attach to an agent's terminal and parse its text; on Unikraft you bake the agent into your image yourself. bochka ships seven agents with a prompt, steer and events API, and a credentials proxy on every plan.
Use bochka when your agents need a real machine for days or by the dozen: Docker, emulators, a desktop and a browser, and coding agents you drive from your own app. Compare it one to one: bochka vs Docker Cloud Sandboxes and bochka vs Unikraft Cloud.
Questions people ask
Is Docker Cloud Sandboxes cheaper than Unikraft Cloud?
For one coding agent on workdays, Unikraft's Team pool is $39 a month against $49 on Docker, and bochka is $20. For one agent that never stops, Unikraft is $39 and Docker does not fit its 24-hour cap. For 50 agents or user sandboxes, neither fits self-serve.
Which is faster?
Neither has a comparable CPU measurement, so there is no speed ratio to give. Unikraft is built to start fast: its microVMs cold boot in milliseconds and wake on the next request. bochka measured 26.69 runs per second at 4 vCPU / 8 GB.
Can Docker Cloud Sandboxes or Unikraft Cloud run Docker inside?
Docker Cloud Sandboxes gives each sandbox its own Docker Engine. Unikraft uses your Dockerfile to build the VM itself, and its docs do not describe a container runtime inside a running instance. A bochka sandbox runs Docker with root and systemd.
Can I SSH into them?
Docker Cloud Sandboxes supports SSH with Docker-issued certificates. Unikraft has no SSH yet; you run commands and move files through its sandbox plugin and CLI. You can SSH into every bochka sandbox.
How long can a sandbox run?
A Docker cloud sandboxes session lasts 1 hour by default and at most 24 hours from creation. Unikraft publishes no session cap, and idle instances go into standby. bochka has no session cap on paid plans.
Is bochka SOC 2 compliant?
SOC 2 is in progress. We're open about where we stand: live status at status.bochka.xyz and our data retention policy at docs.bochka.xyz/data-retention.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Docker Cloud Sandboxes
- bochka vs Unikraft Cloud
- 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