Skip to content

Commit 4e849af

Browse files
authored
Merge pull request #24590 from dvdksn/sbx
sbx
2 parents b798419 + cdde205 commit 4e849af

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+3703
-2167
lines changed

_vale/config/vocabularies/Docker/accept.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ Turtlesim
237237
typesafe
238238
Ubuntu
239239
ufw
240+
uv
240241
umask
241242
uncaptured
242243
Uncaptured
@@ -259,6 +260,9 @@ windowsfilter
259260
WireMock
260261
workdir
261262
WORKDIR
263+
[Ww]orktrees?
264+
[Pp]assthrough
265+
[Pp]reconfigured
262266
Xdebug
263267
xUnit
264268
XQuartz

content/manuals/ai/sandboxes/_index.md

Lines changed: 39 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -10,98 +10,61 @@ params:
1010
text: Experimental
1111
---
1212

13-
{{< summary-bar feature_name="Docker Sandboxes" >}}
13+
{{< summary-bar feature_name="Docker Sandboxes sbx" >}}
1414

15-
Docker Sandboxes lets you run AI coding agents in isolated environments on your
16-
machine. Sandboxes provides a secure way to give agents autonomy without
17-
compromising your system.
15+
Docker Sandboxes run AI coding agents in isolated microVM sandboxes. Each
16+
sandbox gets its own Docker daemon, filesystem, and network — the agent can
17+
build containers, install packages, and modify files without touching your host
18+
system.
1819

19-
## Why use Docker Sandboxes
20-
21-
AI agents need to execute commands, install packages, and test code. Running
22-
them directly on your host machine means they have full access to your files,
23-
processes, and network. Docker Sandboxes isolates agents in microVMs, each with
24-
its own Docker daemon. Agents can spin up test containers and modify their
25-
environment without affecting your host.
26-
27-
You get:
28-
29-
- Agent autonomy without host system risk
30-
- YOLO mode by default - agents work without asking permission
31-
- Private Docker daemon for running test containers
32-
- File sharing between host and sandbox
33-
- Network access control
34-
35-
For a comparison between Docker Sandboxes and other approaches to isolating
36-
coding agents, see [Comparison to alternatives](./architecture.md#comparison-to-alternatives).
37-
38-
> [!NOTE]
39-
> MicroVM-based sandboxes require macOS or Windows (experimental). Linux users
40-
> can use legacy container-based sandboxes with
41-
> [Docker Desktop 4.57](/desktop/release-notes/#4570).
20+
## Get started
4221

43-
## How to use sandboxes
22+
Install the `sbx` CLI and sign in:
4423

45-
To create and run a sandbox:
24+
{{< tabs >}}
25+
{{< tab name="macOS" >}}
4626

4727
```console
48-
$ cd ~/my-project
49-
$ docker sandbox run claude
28+
$ brew install docker/tap/sbx
29+
$ sbx login
5030
```
5131

52-
Replace `claude` with your [preferred agent](./agents/_index.md). This command
53-
creates a sandbox for your workspace (`~/my-project`) and starts the agent. The
54-
agent can now work with your code, install tools, and run containers inside the
55-
isolated sandbox.
56-
57-
## How it works
58-
59-
Sandboxes run in lightweight microVMs with private Docker daemons. Each sandbox
60-
is completely isolated - the agent runs inside the VM and can't access your
61-
host Docker daemon, containers, or files outside the workspace.
32+
{{< /tab >}}
33+
{{< tab name="Windows" >}}
6234

63-
Your workspace directory syncs between host and sandbox at the same absolute
64-
path, so file paths in error messages match between environments.
65-
66-
Sandboxes don't appear in `docker ps` on your host because they're VMs, not
67-
containers. Use `docker sandbox ls` to see them.
68-
69-
For technical details on the architecture, isolation model, and networking, see
70-
[Architecture](architecture.md).
35+
```powershell
36+
> winget install -h Docker.sbx
37+
> sbx login
38+
```
7139

72-
### Multiple sandboxes
40+
{{< /tab >}}
41+
{{< /tabs >}}
7342

74-
Create separate sandboxes for different projects:
43+
Then launch an agent in a sandbox:
7544

7645
```console
77-
$ docker sandbox run claude ~/project-a
78-
$ docker sandbox run claude ~/project-b
46+
$ cd ~/my-project
47+
$ sbx run claude
7948
```
8049

81-
Each sandbox is completely isolated from the others. Sandboxes persist until
82-
you remove them, so installed packages and configuration stay available for
83-
that workspace.
84-
85-
## Supported agents
50+
See the [get started guide](get-started.md) for a full walkthrough, or jump to
51+
the [usage guide](usage.md) for common patterns.
8652

87-
Docker Sandboxes works with multiple AI coding agents:
88-
89-
- **Claude Code** - Anthropic's coding agent (production-ready)
90-
- **Codex** - OpenAI's Codex agent (in development)
91-
- **Copilot** - GitHub Copilot agent (in development)
92-
- **Gemini** - Google's Gemini agent (in development)
93-
- **OpenCode** - Multi-provider agent with TUI interface (in development)
94-
- **[Docker Agent](/ai/docker-agent/)** - Docker's multi-provider coding agent (in development)
95-
- **Kiro** - Interactive agent with device flow auth (in development)
96-
- **Shell** - Minimal sandbox for manual agent installation
97-
98-
For detailed configuration instructions, see [Supported agents](agents/).
99-
100-
## Get started
53+
## Learn more
10154

102-
Head to the [Get started guide](get-started.md) to run your first sandboxed agent.
55+
- [Agents](agents/) — supported agents and per-agent configuration
56+
- [Custom environments](agents/custom-environments.md) — build reusable sandbox
57+
images with pre-installed tools
58+
- [Architecture](architecture.md) — microVM isolation, workspace mounting,
59+
networking
60+
- [Security](security/) — isolation model, credential handling, network
61+
policies, workspace trust
62+
- [CLI reference](/reference/cli/sbx/) — full list of `sbx` commands and options
63+
- [Troubleshooting](troubleshooting.md) — common issues and fixes
64+
- [FAQ](faq.md) — login requirements, telemetry, etc
10365

104-
## Troubleshooting
66+
## Docker Desktop integration
10567

106-
See [Troubleshooting](./troubleshooting) for common configuration errors, or
107-
report issues on the [Docker Desktop issue tracker](https://github.com/docker/desktop-feedback).
68+
Docker Desktop also includes a [built-in sandbox command](docker-desktop.md)
69+
(`docker sandbox`) with a subset of features. The `sbx` CLI is recommended for
70+
most use cases.
Lines changed: 13 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,21 @@
11
---
22
title: Supported agents
33
linkTitle: Agents
4-
description: AI coding agents supported by Docker Sandboxes with experimental status and configuration details.
5-
weight: 50
4+
weight: 30
5+
description: AI coding agents supported by Docker Sandboxes.
66
---
77

8-
{{< summary-bar feature_name="Docker Sandboxes" >}}
8+
{{< summary-bar feature_name="Docker Sandboxes sbx" >}}
99

10-
Docker Sandboxes supports multiple AI coding agents. All agents run isolated
11-
inside microVMs with private Docker daemons.
10+
Docker Sandboxes runs the following agents out of the box:
1211

13-
## Supported agents
12+
- [Claude Code](claude-code/)
13+
- [Codex](codex/)
14+
- [Copilot](copilot/)
15+
- [Gemini](gemini/)
16+
- [Kiro](kiro/)
17+
- [OpenCode](opencode/)
18+
- [Docker Agent](docker-agent/)
1419

15-
| Agent | Command | Status | Notes |
16-
| --------------------------------- | ---------- | ------------ | ------------------------------------ |
17-
| Claude Code | `claude` | Experimental | Most tested implementation |
18-
| Codex | `codex` | Experimental | |
19-
| Copilot | `copilot` | Experimental | |
20-
| Gemini | `gemini` | Experimental | |
21-
| [Docker Agent](/ai/docker-agent/) | `cagent` | Experimental | Also available as a standalone tool |
22-
| Kiro | `kiro` | Experimental | |
23-
| OpenCode | `opencode` | Experimental | |
24-
| Custom shell | `shell` | Experimental | Minimal environment for manual setup |
25-
26-
## Experimental status
27-
28-
All agents are experimental features. This means:
29-
30-
- Breaking changes may occur between Docker Desktop versions
31-
- Features may be incomplete or change significantly
32-
- Stability and performance are not production-ready
33-
- Limited support and documentation
34-
35-
Use sandboxes for development and testing, not production workloads.
36-
37-
## Using different agents
38-
39-
The agent type is specified when creating a sandbox:
40-
41-
```console
42-
$ docker sandbox create AGENT [PATH] [PATH...]
43-
```
44-
45-
Each agent runs in its own isolated sandbox. The agent type is bound to the
46-
sandbox when created and cannot be changed later.
47-
48-
## Template environment
49-
50-
All agent templates share a common base environment:
51-
52-
- Ubuntu 25.10 base
53-
- Development tools: Docker CLI (with Buildx and Compose), Git, GitHub CLI, Node.js, Go, Python 3, uv, make, jq, ripgrep
54-
- Non-root `agent` user with sudo access
55-
- Private Docker daemon for running additional containers
56-
- Package managers: apt, pip, npm
57-
58-
Individual agents add their specific CLI tools on top of this base. See
59-
[Custom templates](../templates.md) to build your own agent images.
60-
61-
## Agent-specific configuration
62-
63-
Each agent has its own credential requirements and authentication flow.
64-
Credentials are scoped per agent and must be provided specifically for that
65-
agent (no fallback authentication methods are used).
66-
67-
See the agent-specific documentation:
68-
69-
- [Claude Code](./claude-code.md)
70-
- [Docker Agent](./docker-agent.md)
71-
- [Codex](./codex.md)
72-
- [Copilot](./copilot.md)
73-
- [Gemini](./gemini.md)
74-
- [Kiro](./kiro.md)
75-
- [OpenCode](./opencode.md)
76-
- [Custom shell](./shell.md)
77-
78-
## Requirements
79-
80-
- Docker Desktop 4.58 or later
81-
- Platform support:
82-
- macOS with virtualization.framework
83-
- Windows with Hyper-V {{< badge color=violet text=Experimental >}}
84-
- API keys or credentials for your chosen agent
20+
Want to pre-install tools or customize an agent's environment?
21+
See [Custom environments](custom-environments/).

0 commit comments

Comments
 (0)