# Claude Code in Docker ausführen: Sandbox einrichten

URL: https://agentvera.dev/de/blog/run-claude-code-in-docker/ · Veröffentlicht: 2026-10-24

Claude Code in Docker ausführen, damit der Agent nur deinen Projektordner sieht: ein docker-run-Rezept, seine Grenzen und der Container per Häkchen in AgentVera.

**Kurz gesagt:**

- Ein Container beschränkt, was der Agent auf der Platte lesen und ändern kann, auf die Ordner, die du einhängst; das Netzwerk kappt er nicht, es sei denn, du richtest das selbst ein.
- Von Hand brauchst du ein Image mit der CLI, das eingehängte Projekt, deine User-ID und einen Ort für die Anmeldung; AgentVera erledigt all das mit einem Häkchen.
- In AgentVera können Claude-Code- und Codex-Agenten in einem Container laufen, der beim Stoppen des Agenten entfernt wird; nur Änderungen im Projektordner bleiben.

**Um Claude Code in Docker auszuführen, startest du es in einem Container, der nur deinen Projektordner einhängt: Der Agent kann dort frei arbeiten, während der Rest deiner Platte außer Reichweite bleibt.** Das geht von Hand mit einem Image und einer langen `docker run`-Zeile, oder du setzt in AgentVera ein Häkchen und bekommst denselben Container fertig eingerichtet, samt Anmeldung, Git-Identität und Dateibesitz.

Diese Anleitung behandelt, wovor ein Container dich schützt (und wovor nicht), den Weg zum Selbermachen und wie die Docker-Agenten von AgentVera funktionieren.

## Was ein Container schützt und was nicht

Ein Coding-Agent führt Befehle als dein Benutzer aus. Ohne Sandbox kann er jede Datei lesen, die du lesen kannst: andere Repos, `~/.ssh`, Cloud-Zugangsdaten, Dotfiles. Meistens ist das in Ordnung. Das Risiko ist der seltene schlechte Befehl, eine verwirrte Aufräumaktion oder eine Prompt-Injection, versteckt auf einer Webseite oder in der README einer Abhängigkeit.

| Risiko | Normales Terminal | Docker-Container |
| --- | --- | --- |
| Liest Dateien außerhalb des Projekts | Ja | Nur, was du einhängst |
| Liest SSH-Schlüssel und Zugangsdaten | Ja | Nein, außer sie sind eingehängt |
| Löscht Dateien außerhalb des Projekts | Möglich | Nicht erreichbar |
| Installiert globale Tools auf deinem Rechner | Möglich | Nur im Container, beim Beenden weg |
| Ändert oder löscht Dateien im Projekt | Möglich | Weiterhin möglich |
| Erreicht das Internet | Ja | Ja, standardmäßig |

Zwei Zeilen sind am wichtigsten. Der Projektordner ist weiterhin beschreibbar, also committe oft oder nutze einen [Git-Worktree](/de/blog/git-worktree-parallel-agents/). Und Docker kappt das Netzwerk nicht von selbst: Wenn du das willst, brauchst du zusätzliche Netzwerkregeln. Einen breiteren Blick auf die Bedrohungen gibt [Sicherheit von KI-Coding-Agenten](/de/blog/ai-coding-agent-security/).

## Claude Code von Hand in Docker ausführen

Der Weg zum Selbermachen besteht aus drei Teilen: einem Image, einem Run-Befehl und einer Entscheidung zur Anmeldung.

### 1. Ein Image mit der CLI bauen

Ein kleines Dockerfile genügt:

```dockerfile
FROM node:22-bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
      git curl ca-certificates ripgrep openssh-client less procps jq python3 \
    && rm -rf /var/lib/apt/lists/*
RUN npm install -g @anthropic-ai/claude-code
```

```bash
docker build -t my-claude .
```

Füge hinzu, was dein Projekt zum Bauen und Testen braucht, etwa einen Compiler, einen Datenbank-Client oder eine Sprach-Runtime.

### 2. Mit nur dem eingehängten Projekt starten

```bash
docker run --rm -it --init \
  --user "$(id -u):$(id -g)" \
  -v "$PWD":/work -w /work \
  -e HOME=/home/agent --tmpfs /home/agent \
  my-claude claude
```

Was die einzelnen Teile tun:

1. `--rm` entfernt den Container, wenn Claude Code beendet wird.
2. `--user` läuft mit deiner eigenen User-ID, sodass neue Dateien im Projekt nicht root gehören.
3. `-v "$PWD":/work` hängt das Projekt ein und sonst nichts von deiner Platte.
4. Ein Wegwerf-`HOME` auf tmpfs gibt der CLI einen Ort, an den sie ihre Einstellungen schreiben kann.

### 3. Mit Anmeldung und Verlauf umgehen

Mit einem Wegwerf-Home vergisst Claude Code bei jedem Lauf deine Anmeldung und deine Unterhaltungen. Du kannst stattdessen einen eigenen Konfigurationsordner einhängen oder mit `-e ANTHROPIC_API_KEY` einen API-Key übergeben. Gib Geheimnisse über den Namen weiter (`-e NAME`) statt mit `-e NAME=value`, damit der Wert nicht in deiner Shell-History auftaucht.

Anthropic veröffentlicht außerdem ein Referenz-Devcontainer-Setup für Claude Code mit Firewall; wenn du in Devcontainern arbeitest, lies dazu die Claude-Code-Doku.

### Wo der manuelle Weg mühsam wird

Jeder neue Agent bedeutet dieselben Flags noch einmal. Resume, Nutzungsstatistiken und projektspezifische Einstellungen liegen in einem Ordner, den der Container nur sieht, wenn du ihn einhängst. Git-Commits im Container haben keinen Namen, wenn du nicht `~/.gitconfig` einhängst. Und wenn du mehrere Agenten gleichzeitig laufen lässt, jonglierst du mit mehreren dieser Befehle.

## Claude Code mit AgentVera in Docker ausführen

[AgentVera](/de/) ist eine Desktop-App für macOS, Windows und Linux, die Coding-Agent-CLIs nebeneinander in echten Terminals laufen lässt. Für Claude-Code- und Codex-Agenten hat der Agenten-Dialog ein Häkchen **Run in a Docker container**. Sein Hinweis sagt es klar: Der Agent sieht nur den Projektordner; andere Dateien, Programme und SSH-Schlüssel auf diesem Rechner bleiben ihm verschlossen.

### Schritte

1. Starte Docker Desktop, Colima oder OrbStack.
2. Öffne ein Projekt in AgentVera und füge einen Claude-Code- oder Codex-Agenten hinzu.
3. Setze das Häkchen bei **Run in a Docker container**. Optional kannst du **Image**, **CPU** und **Memory (GB)** festlegen; lass den Speicher leer für kein Limit.
4. Starte den Agenten.

Bei der ersten Nutzung baut AgentVera sein Agenten-Image `agentvera/agent:1`, und du siehst die Build-Ausgabe im Terminal des Agenten. Das Image basiert auf `node:22-bookworm-slim` mit git, ripgrep, jq, python3, make, g++ und einigen weiteren Tools sowie Claude Code und Codex. Wenn du ein eigenes Image angibst, muss es den Befehl `claude` oder `codex` enthalten; ein Image, das nicht auf deinem Rechner liegt, wird heruntergeladen.

Der Agenten-Header zeigt dann einen **Docker**-Chip, und das Pane meldet, dass der Agent in einem Docker-Container läuft, samt Image-Namen. Du kannst einen bestehenden Agenten auch in einen Container hinein- oder aus ihm herausschalten, indem du ihn bearbeitest; der Agent startet neu und behält dieselbe Unterhaltung.

### Was AgentVera für dich einrichtet

| Anliegen | Was AgentVera tut |
| --- | --- |
| Projektdateien | Hängt den Projektordner ein (bei einem Worktree auch dessen Repository) |
| Anmeldung, Resume, Statistiken | Hängt den Unterhaltungsordner der CLI ein, sodass Resume, Nutzungsstatistiken und Budgets wie gewohnt funktionieren |
| Git-Identität | Hängt `~/.gitconfig` schreibgeschützt ein, damit Commits deinen Namen tragen |
| Dateibesitz | Läuft unter macOS und Linux mit deiner User-ID, sodass Dateien nicht root gehören |
| Home-Ordner | Ein frisches Home auf tmpfs, das beim Stoppen des Containers verschwindet |
| Härtung | `no-new-privileges`, ein Prozesslimit und mehrere entzogene Linux-Capabilities |
| Geheimnisse | Umgebungswerte werden über den Namen übergeben, sodass Tokens nicht in der Prozessliste stehen |
| AgentVera-Tools | Hooks und MCP-Server wie die Projektkarte, das Board und die Agenten-Nachrichten funktionieren weiter |

Wenn der Agent stoppt, wird der Container entfernt. Nur die Änderungen im Projektordner bleiben.

Einiges solltest du wissen:

- **Das Netzwerk ist offen.** Unter Linux nutzt der Container das Host-Netzwerk; anderswo erreicht er die lokalen Server von AgentVera über `host.docker.internal`. Der Container begrenzt Dateien, nicht das Internet.
- **macOS-Anmeldung.** Claude Code speichert seine Anmeldung im macOS-Schlüsselbund, den ein Container nicht lesen kann, sodass du dich einmal im Container anmelden musst.
- **Claude in Chrome** wird in einem Container nicht genutzt. Der AgentVera-Browser, der über Playwright MCP läuft, ist eine separate Option im selben Dialog.
- **Nur lokale Agenten.** Remote-Agenten über SSH laufen auf ihrem Server und nehmen diese Option nicht.

Docker-Agenten gehören zum kostenlosen Plan. Die App hat außerdem eine eigene Docker-Manager-Seite für deine eigenen Container und Compose-Projekte; siehe die [Docker-Funktionsseite](/de/features/docker/).

## Den Container mit der passenden Berechtigungsstufe kombinieren

Ein Container macht eine lockerere Berechtigungsstufe erst vernünftig. AgentVera-Agenten haben drei Stufen: **Ask**, **Auto** und **Full access**. Der Hinweis zu Full access lautet: fragt nie, am besten in einem Worktree oder Container.

Ein praktisches Setup für eine lange Aufgabe:

1. Lege den Agenten in einem eigenen Git-Worktree an, damit seine Änderungen auf einem eigenen Branch bleiben.
2. Setze das Häkchen bei **Run in a Docker container**.
3. Wähle **Auto** oder **Full access**, je nachdem, wie sehr du der Aufgabe vertraust.
4. Prüfe nach dem Abschluss den Diff, bevor du mergst.

Wenn du `--dangerously-skip-permissions` abwägst, behandelt [Berechtigungen in Claude Code überspringen](/de/blog/claude-code-skip-permissions/) die Kompromisse, und [Claude Code über Nacht laufen lassen](/de/blog/run-claude-code-overnight/) zeigt, wie ein Container zu einem Lauf passt, den niemand beobachtet.

## Kurze Checkliste

- Der Container hängt nur das Projekt ein, nicht deinen Home-Ordner.
- Neue Dateien im Projekt gehören dir, nicht root.
- Geheimnisse werden über den Namen übergeben und nicht ins Image gebacken.
- Die Arbeit ist committet, oder der Agent läuft auf einem Worktree-Branch.
- Du weißt, dass das Netzwerk weiterhin offen ist, und hast Regeln ergänzt, wenn es darauf ankommt.

[Lade AgentVera herunter](/de/download/), um Claude Code und Codex in Containern neben deinen übrigen Agenten laufen zu lassen, oder lies mehr auf der Seite [Agenten in Docker](/de/features/agents-in-docker/).

## Häufige Fragen

**Warum Claude Code überhaupt in Docker ausführen?** Ein Agent auf deinem Rechner kann alles lesen, was dein Benutzer lesen kann: andere Projekte, SSH-Schlüssel, Cloud-Zugangsdaten, Browserdaten. In einem Container sieht er nur die eingehängten Ordner, sodass ein schlechter Befehl oder eine Prompt-Injection weit weniger erreicht.

**Trennt ein Docker-Container den Agenten vom Internet?** Nicht standardmäßig. Ein normaler Container hat Netzwerkzugriff. Docker begrenzt Dateien und Prozesse; willst du auch das Netzwerk einschränken, brauchst du eigene Firewall-Regeln oder ein eigenes Netzwerk-Setup. Die Agenten-Container von AgentVera lassen das Netzwerk offen, damit die CLI ihre API erreicht.

**Welche Agenten kann AgentVera in einem Container ausführen?** Claude-Code- und Codex-Agenten, die auf deinem eigenen Rechner laufen. Remote-Agenten über SSH laufen auf ihrem Server und nutzen diese Option nicht. Der Container braucht ein laufendes Docker Desktop, Colima oder OrbStack.

**Muss ich mich im Container erneut anmelden?** Meist nicht, denn AgentVera hängt den Unterhaltungsordner der CLI in den Container ein. Unter macOS speichert Claude Code seine Anmeldung im Schlüsselbund, den ein Container nicht lesen kann, sodass du dich einmal im Container anmelden musst.

**Ist der Full-Access-Modus in einem Container sicher?** Er ist deutlich sicherer als auf dem nackten Rechner, weshalb der Full-access-Hinweis von AgentVera sagt, er passe am besten in einen Worktree oder Container. Der Agent kann Dateien im Projektordner weiterhin ändern oder löschen, also committe deine Arbeit und prüfe den Diff.

---

**Über AgentVera.** AgentVera ist eine Desktop-App für macOS, Windows und Linux, entwickelt von Solviera Teknoloji. Sie führt 18 KI-Coding-Agenten (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) nebeneinander aus, pro Projekt, in echten Terminals mit den eigenen CLI-Installationen und Logins des Nutzers. Der kostenlose Plan hat unbegrenzt viele Agenten. Download: https://agentvera.dev/de/download/ · Preise: https://agentvera.dev/de/pricing/
