Claude Code Docker-Sandbox
Claude Code aus einer Dagu Docker-Sandbox ausfuehren.
Installiere Claude Code in einem Runner Image, pruefe das claude-Binary und gib Credentials nur an den harness-Schritt, der sie braucht. Dagu haelt Schedule, Logs, Retry Policy und Container-Grenze in YAML.
steps:
- id: claude_review
action: harness.run
container:
image: dagu-claude-runner:local
pull_policy: never
working_dir: /workspace
volumes:
- .:/workspace:ro
env:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
with:
provider: claude
model: sonnet
prompt: |
Review this repository and summarize the highest-risk issues.Nutzt das offizielle npm-Package @anthropic-ai/claude-code.
Prueft claude --version ueber Dagu vor Modellaufrufen.
Uebergibt ANTHROPIC_API_KEY an der container step Grenze.
Funktioniert mit root-level oder step-level container je nach Credential-Scope.
Runner Image
Claude Code kann als globales npm-Package auf Node.js 18 oder neuer installiert werden. Das Beispiel nutzt Node 22 und prueft das Binary waehrend des Builds.
FROM node:22-bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates git ripgrep bash \
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g @anthropic-ai/claude-code
RUN claude --version
WORKDIR /workspace
ENTRYPOINT []
CMD ["bash"]Smoke Test
Fuehre zuerst einen shell provider aus, damit Image und Binary-Pfad geprueft werden, ohne einen Prompt an Claude zu senden.
type: graph
harnesses:
shell:
binary: sh
prefix_args:
- -c
prompt_mode: arg
steps:
- id: claude_version
action: harness.run
container:
image: dagu-claude-runner:local
pull_policy: never
with:
provider: shell
prompt: |
set -eu
claude --version
command -v claudeCredentials
Fuer einen einfachen non-interactive run uebergib ANTHROPIC_API_KEY an den Container. Andere Claude Code Auth-Methoden sind moeglich, wenn ihre Dateien oder Variablen im selben Container vorhanden sind.
Container-Scope
Bevorzuge step-level container fuer eine einzelne Claude Code Aufgabe. Root-level container ist nur noetig, wenn vorherige build- oder test-Schritte im selben Image laufen muessen, bevor Claude Code den Workspace liest.
Weitere Sandbox-Seiten
Claude Code Docker-Sandbox
Verstehen, wie Dagu den Docker container scope waehlt.
Codex in DockerCodex mit gemountetem CODEX_HOME oder CODEX_API_KEY ausfuehren.
OpenCode in DockerOpenCode mit gemounteten oder uebergebenen Provider-Credentials ausfuehren.
Eigene CLI in DockerEine andere CLI in die Dagu harness provider Form bringen.