Skip to content

Container Sandbox

Everruns provides self-hosted container sandboxes via Docker Engine for secure, isolated code execution. Agents can create, manage, and interact with multiple containers per session — each an isolated Linux environment with real filesystem, process execution, and network access.

  • Self-Hosted: Runs on your own infrastructure — no SaaS dependency
  • Isolated Containers: Each sandbox is an isolated Linux container with cgroup resource limits
  • Multi-Sandbox Sessions: Create and manage multiple containers within a single session
  • File Operations: Read, write, upload, and download files between session storage and containers
  • Shell Execution: Run arbitrary commands with stdout/stderr/exit_code capture

Ensure Docker Engine is accessible from the server/worker. The capability communicates via Docker Engine REST API (not the CLI).

  • Local: Docker Desktop or dockerd on the host (default socket: /var/run/docker.sock)
  • Remote: TCP or TCP+TLS endpoint (e.g., http://10.0.0.3:2375)

Set CONTAINER_SANDBOX_DOCKER_HOST to override the default Docker host.

Add the container_sandbox capability to a harness or use the built-in Coding (Container) harness which includes it by default.

Agents with the Container Sandbox capability can use these tools:

ToolDescription
sandbox_createCreate and start a new container with resource limits
sandbox_execExecute shell commands in a container
sandbox_read_fileRead files from container filesystem
sandbox_write_fileWrite files to container filesystem
sandbox_uploadCopy files from session storage into container
sandbox_downloadCopy files from container to session storage
sandbox_listList active containers in the session
sandbox_manageStop, start, or remove containers
  1. Create: sandbox_create pulls the image, creates an isolated network, and starts the container
  2. Use: sandbox_exec, sandbox_read_file, sandbox_write_file for coding work
  3. Transfer: sandbox_upload/sandbox_download to move files between session storage and container
  4. Remove: sandbox_manage with action “remove” deletes the container and network

Containers auto-stop after 10 minutes of inactivity (configurable). Leased resource cleanup handles abandoned containers after 20 minutes.

ParameterDefaultDescription
docker_hostAuto-detectDocker Engine endpoint
runtimeruncContainer runtime (runc, sysbox-runc, kata, gvisor)
imageubuntu:24.04Default container image
memory_limit2 GiBMemory limit per container
cpu_limit1 coreCPU limit per container
pids_limit256Max processes per container
  • Each container runs in its own isolated Docker network
  • Resource limits (memory, CPU, PIDs) enforced via cgroups
  • Container names derived from session ID — no cross-session access
  • Docker socket never mounted into containers
  • Configurable runtime: use sysbox-runc for user-namespace isolation in production