Skip to main content
Docker is the local container provider. Use it when you want reproducible execution without a cloud sandbox, or when a benchmark recipe can map task metadata to a local registry image.
NeedLink
Install Docker DesktopDocker Desktop
macOS installerInstall Docker Desktop on Mac
Windows installerInstall Docker Desktop on Windows
Linux Desktop installerInstall Docker Desktop on Linux
Linux server / CI installInstall Docker Engine
Ubuntu Engine installInstall Docker Engine on Ubuntu
Linux post-installLinux post-installation steps
Registry logindocker login

First-Time Setup

  1. Install Docker Desktop on macOS, Windows, or desktop Linux. For Linux servers and CI machines, install Docker Engine.
  2. Start Docker Desktop or the Docker daemon.
  3. Verify that the local Docker client can talk to the daemon.
  4. If you need private images, authenticate with the registry before running AgentCompass.
  5. Run one AgentCompass task before scaling concurrency.
docker version
docker info
docker run --rm hello-world
On Linux, if Docker works only with sudo, follow Docker’s post-install steps to add your user to the docker group:
sudo groupadd docker
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world
Membership in the docker group grants broad host privileges. Use it only on machines where that security tradeoff is acceptable.

Registry Credentials

AgentCompass does not manage Docker registry credentials. The local Docker daemon pulls images, so authenticate with Docker first:
docker login
For a private registry, pass the registry host:
docker login registry.example.com
For Docker Hub automation, prefer a Docker personal access token instead of an account password.

AgentCompass Smoke Test

For supported benchmarks, recipes may set the image and workspace for you. Start with one sample:
agentcompass run \
  swebench_verified \
  mini_swe_agent \
  your-model \
  --env docker \
  --benchmark-params '{"sample_ids":["astropy__astropy-12907"]}' \
  --model-base-url "$MODEL_BASE_URL" \
  --model-api-key "$MODEL_API_KEY"
This validates Docker image pull, container startup, file operations, harness execution, and benchmark evaluation together.

Basic Run

For custom container tasks, pass an image explicitly:
agentcompass run \
  <benchmark> \
  <harness> \
  <model> \
  --env docker \
  --env-params '{"image":"python:3.13-slim","workspace":"/workspace"}' \
  --model-base-url "$MODEL_BASE_URL" \
  --model-api-key "$MODEL_API_KEY"
Use explicit image only for custom tasks or debugging. Public benchmark recipes should normally infer the image and workspace from task metadata.
agentcompass run \
  <benchmark> \
  <harness> \
  your-model \
  --env docker \
  --env-params '{"image":"python:3.13-slim","workspace":"/workspace"}' \
  --model-base-url "$MODEL_BASE_URL" \
  --model-api-key "$MODEL_API_KEY"

Provider Params

Common Docker overrides live under environments.docker or --env-params:
FieldUse
imageDocker image to run when no recipe supplies one.
nameOptional container name. Empty means AgentCompass auto-generates one.
platformForce a platform such as linux/amd64. Useful when task images are architecture-specific.
workspaceContainer working directory. Defaults to /workspace.
commandLong-running command used to keep the task container alive.
default_workspace_rootWorkspace root exposed to harnesses when the benchmark did not set one.
envEnvironment variables injected into the container.
mountsProvider-specific mount definitions.
On Apple silicon or ARM hosts, some public benchmark images may be linux/amd64 only. Set platform when Docker reports an architecture mismatch, but expect emulation to be slower.

When To Prefer Docker

Use Docker whenPrefer remote when
You need local reproducibility.Task images are large or slow to start locally.
You are debugging environment behavior.You want high concurrency without local resource contention.
You can pull the benchmark image locally.Provider recipes already manage task images and workspaces.

Troubleshooting

SymptomWhat to check
Cannot connect to the Docker daemonStart Docker Desktop or run sudo systemctl start docker on Linux Engine hosts.
permission denied for /var/run/docker.sockUse sudo docker ... or configure the Linux docker group.
no basic auth credentialsRun docker login for the registry that hosts the image.
no matching manifestCheck host architecture and set platform, for example linux/amd64.
Container starts but commands failConfirm the image has a shell, Python or required tools, and a writable workspace.
Local machine becomes slowReduce --task-concurrency or switch the run to Modal, Daytona, or a cluster provider.