Claude Code Docker sandbox
شغل Claude Code من Docker sandbox في Dagu.
ثبت Claude Code في runner image، تحقق من binary باسم claude، ومرر credentials فقط إلى خطوة harness التي تحتاجها. يحتفظ Dagu بالجدولة، السجلات، retry policy، وحدود container في 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.يستخدم حزمة npm الرسمية @anthropic-ai/claude-code.
يتحقق من claude --version عبر Dagu قبل استدعاءات النموذج.
يمرر ANTHROPIC_API_KEY عند حدود خطوة container.
يعمل مع root-level أو step-level container حسب نطاق credential.
صورة runner
يمكن تثبيت Claude Code كحزمة npm عامة على Node.js 18 أو أحدث. المثال يستخدم Node 22 ويتحقق من binary أثناء build.
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
شغل shell provider أولا للتحقق من الصورة ومسار binary بدون إرسال prompt إلى Claude.
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
للتشغيل غير التفاعلي البسيط، مرر ANTHROPIC_API_KEY إلى الحاوية. يمكن استخدام طرق auth أخرى في Claude Code إذا كانت ملفاتها أو متغيراتها متاحة داخل نفس الحاوية.
نطاق الحاوية
فضل step-level container لمهمة Claude Code واحدة. استخدم root-level container فقط إذا كانت خطوات build أو test يجب أن تعمل في نفس الصورة قبل أن يقرأ Claude Code workspace.
صفحات sandbox أخرى