Docker Sandboxes — o básico
Container era pouco. Voltamos pras VMs — só que pequenas, descartáveis e com um Docker dentro.
Docker lançou o sbx em março de 2026: uma CLI que cria sandboxes isolados pra rodar agentes de IA. A surpresa é que cada sandbox não é um container — é uma microVM com kernel próprio e um daemon Docker inteiro lá dentro. A história está fechando o ciclo: depois de uma década empurrando container, a Docker volta pras VMs.
sbx roda agentes de IA em microVMs com kernel, filesystem e Docker daemon
próprios. O agente pode rm -rf /, instalar o que quiser e rodar
docker build — sem chegar perto do seu host. Isolamento de hardware
com cold start quase instantâneo.
O que é
Docker Sandboxes é a resposta da Docker pra um problema que ficou óbvio com a chegada dos agentes de programação: você quer dar liberdade pro Claude Code, Gemini CLI ou Codex executarem comandos arbitrários, mas não no seu laptop.
A CLI chama sbx (de sandbox). Roda à parte do Docker Desktop e é
instalada separadamente. Cada vez que você dá sbx run claude, uma microVM
nova sobe em segundos, com:
- Kernel Linux próprio
- Filesystem próprio
- Stack de rede próprio
- Daemon Docker próprio rodando lá dentro
O agente vive nesse universo paralelo. Quando termina (ou enlouquece), você joga a VM fora e sobe outra. Custo: alguns segundos.
Por que microVM, e não só container
Container compartilha kernel com o host. Pra agente de IA, isso traz dois problemas difíceis ao mesmo tempo:
-
Agente quer rodar Docker. Um agente que faz desenvolvimento real
precisa de
docker build,docker compose up, etc. Isso significa Docker-in-Docker, que historicamente exige privilégios elevados (--privileged) — e aí o sandbox já era. - Escape de container é mais fácil do que de VM. Bug de kernel compartilhado = todo mundo do mesmo host na mesma piscina.
Resolver isso com VM tradicional resolveria o isolamento — mas VMs demoram pra subir, e desenvolvedor que espera 30 segundos pulariu o sandbox. A aposta da Docker foi construir o próprio VMM (Virtual Machine Monitor) usando o hypervisor nativo de cada OS, otimizado pra cold start:
| OS | Hypervisor usado |
|---|---|
| macOS | Hypervisor.framework (Apple) |
| Windows | Windows Hypervisor Platform |
| Linux | KVM |
Eles poderiam ter usado Firecracker (o microVM da AWS Lambda), mas Firecracker é Linux-only. A Docker queria que o mesmo comando funcionasse no MacBook do dev, no Windows da empresa e no Linux da CI — daí o VMM próprio.
Como funciona por baixo
sbx run sobe uma microVM completa. Container roda dentro
do daemon Docker da VM, não no daemon do host.
A diferença prática: o agente dentro da VM #1 não enxerga a VM #2, não enxerga o host, não enxerga seus arquivos pessoais. Pra ele, o universo é o filesystem daquela VM. Pra compartilhar código com o agente, você monta um workspace explicitamente — nada vaza por padrão.
Instalar
O sbx é uma CLI separada do Docker Desktop. Cada plataforma tem seu canal:
brew install docker/tap/sbx
sbx login
winget install -h Docker.sbx
sbx login
curl -fsSL https://get.docker.com | sudo REPO_ONLY=1 sh
sudo apt-get install docker-sbx
sbx login
Comandos do dia a dia
# sobe uma microVM nova com o Claude Code dentro
sbx run claude
# mesma coisa, mas amarrando a sandbox a um branch dedicado
sbx run claude --branch my-feature
# generic shell, sem agente
sbx run shell
sbx ls # listar sandboxes ativas
sbx stop my-sandbox # parar
sbx rm my-sandbox # remover
sbx secret set -g anthropic
sbx secret set -g github -t "$(gh auth token)"
sbx policy ls
sbx policy allow network registry.npmjs.org
Sem argumento nenhum (sbx), abre um dashboard interativo no terminal —
lista sandboxes, status, permite attach, abrir shell, ajustar regras de rede.
Quando usar
O caso óbvio é o que motivou a feature:
- Rodar agentes de IA com permissão liberal. Em vez de aprovar cada comando que o Claude Code quer executar, você libera tudo dentro da sandbox e esquece. Se ele estragar algo, é a VM que paga.
-
Testar instalações duvidosas. Aquele script de
curl | shque você não quer rodar no host. - Build environments descartáveis. Compilar projeto antigo que pede dependências exóticas, sem poluir seu sistema.
- Reprodução de bugs. Estado limpo, mesmo kernel, mesmo Docker, todas as vezes.
Onde não faz sentido: workload de produção (não é pra isso), processos
sensíveis a latência de I/O (microVM tem overhead, ainda que pequeno), uso casual de
container (continua sendo docker run mesmo).
sbx é microVM pra
desenvolvedor rodar agente no laptop. Mesmo princípio, público diferente.
Pra onde aprofundar
Esse foi o panorama. A partir daqui dá pra ir fundo em vários ângulos — internals do VMM da Docker, comparação detalhada com Firecracker e gVisor, network policies em produção, integração com Claude Code especificamente, ou o custo real de cold start medido. Me diga onde quer cavar.
Fontes: docs.docker.com/ai/sandboxes · get-started · why microVMs (blog)