Docker Backend
How It Works
- Creates a git worktree in
~/.clauderon/worktrees/<session-name>/ - Creates a container with your specified image
- Mounts the worktree at
/workspace - Starts the chosen agent with your prompt
Creating Sessions
clauderon create --backend docker --repo ~/project --prompt "Fix the bug"
# Custom imageclauderon create --backend docker --image rust:1.85 \ --repo ~/project --prompt "Build the project"
# Resource limitsclauderon create --backend docker \ --cpu-limit 4 --memory-limit 8g \ --repo ~/project --prompt "Heavy computation task"
# Pull policy: always | if-not-present (default) | neverclauderon create --backend docker --pull-policy always \ --repo ~/project --prompt "Use latest image"All Docker settings are CLI flags — there is no [docker] section in config.toml.
Shared Volumes
Automatically mounted for caching across sessions:
| Volume | Purpose |
|---|---|
clauderon-cargo-registry | Cargo package cache |
clauderon-cargo-git | Git dependencies |
clauderon-sccache | Rust compilation cache |
clauderon clean-cache # Show cache usage (dry run)clauderon clean-cache --force # Remove all cache volumesRefreshing Containers
Pull latest image and recreate:
clauderon refresh <session-name>Mounted Directories
| Host Path | Container Path | Purpose |
|---|---|---|
~/.clauderon/worktrees/<name>/ | /workspace | Git worktree |
~/.clauderon/claude.json | /workspace/.claude.json | Claude onboarding |
~/.clauderon/uploads/<id>/ | /workspace/.clauderon/uploads/<id>/ | Uploaded images |
~/.clauderon/hooks/ | /workspace/.clauderon/hooks/ | Claude Code hooks |
Custom Images
Any Docker image works if it has a shell, curl/wget, and git. Claude Code is automatically downloaded. See Custom Images Guide.
Troubleshooting
| Problem | Fix |
|---|---|
| Permission denied | sudo usermod -aG docker $USER && newgrp docker |
| Container won’t start | docker info to check Docker; docker ps -a | grep clauderon for conflicts |
| Network issues | Check container network connectivity and DNS resolution |
| Out of disk space | docker system df then docker system prune -a |