# Claude Code’u Docker içinde çalıştırmak: korumalı alan

Adres: https://agentvera.dev/blog/claude-code-docker-icinde/ · Yayın: 2026-10-24

Claude Code’u Docker içinde çalıştır, ajan yalnızca proje klasörünü görsün: elle docker run tarifi, sınırları ve AgentVera’da tek kutuyla açılan kapsayıcı.

**Kısaca:**

- Kapsayıcı, ajanın diskte okuyup değiştirebileceği yeri bağladığın klasörlerle sınırlar; ağı ise sen ayrıca kısıtlamadıkça kesmez.
- Elle yaparken CLI’lı bir imaj, bağlanmış proje, kendi kullanıcı kimliğin ve oturum için bir yer gerekir; AgentVera bunların hepsini tek kutuyla yapar.
- AgentVera’da Claude Code ve Codex ajanları, ajan durunca silinen bir kapsayıcıda çalışabilir; geriye yalnızca proje klasöründeki değişiklikler kalır.

**Claude Code’u Docker içinde çalıştırmak için onu yalnızca proje klasörünü bağlayan bir kapsayıcıda başlat: ajan orada rahatça çalışır, diskinin geri kalanı ise erişiminin dışında kalır.** Bunu bir imaj ve uzun bir `docker run` satırıyla elle yapabilirsin; ya da AgentVera’da tek bir kutuyu işaretlersin ve aynı kapsayıcı oturum, git kimliği ve dosya sahipliği ayarlanmış olarak senin için kurulur.

Bu rehberde kapsayıcının seni neye karşı koruduğunu (ve neye karşı korumadığını), elle kurulumu ve AgentVera’nın Docker ajanlarının nasıl çalıştığını anlatıyoruz.

## Kapsayıcı neyi korur, neyi korumaz

Kodlama ajanı komutları senin kullanıcınla çalıştırır. Korumalı alan yoksa senin okuyabildiğin her dosyayı okuyabilir: diğer depolar, `~/.ssh`, bulut kimlik bilgileri, ayar dosyaları. Çoğu zaman sorun olmaz. Risk, ara sıra çıkan hatalı komutta, yanlış giden bir temizlikte ya da bir web sayfasına veya bağımlılığın README’sine gizlenmiş prompt injection’dadır.

| Risk | Düz terminal | Docker kapsayıcısı |
| --- | --- | --- |
| Proje dışındaki dosyaları okur | Evet | Yalnızca bağladıklarını |
| SSH anahtarlarını ve kimlik bilgilerini okur | Evet | Hayır, bağlamadıkça |
| Proje dışındaki dosyaları siler | Mümkün | Ulaşamaz |
| Makinene global araç kurar | Mümkün | Yalnızca kapsayıcıda, çıkınca gider |
| Projedeki dosyaları değiştirir ya da siler | Mümkün | Yine mümkün |
| İnternete çıkar | Evet | Evet, varsayılan olarak |

İki satır en önemlisi. Proje klasörü hâlâ yazılabilir; sık commit’le ya da bir [git worktree](/blog/git-worktree-paralel-gelistirme/) kullan. Docker ağı da kendiliğinden kesmez; bunu istiyorsan ek ağ kuralları gerekir. Tehditlere daha geniş bakış için [yapay zekâ kodlama ajanı güvenliği](/blog/yapay-zeka-kodlama-ajani-guvenligi/) yazısına bak.

## Claude Code’u Docker içinde elle çalıştırmak

Elle kurulum üç parçadan oluşur: bir imaj, bir çalıştırma komutu ve oturumla ilgili bir karar.

### 1. CLI’lı bir imaj hazırla

Küçük bir Dockerfile yeterli:

```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 .
```

Projenin derlemek ve test etmek için neye ihtiyacı varsa ekle: derleyici, veritabanı istemcisi, dil çalışma ortamı gibi.

### 2. Yalnızca projeyi bağlayarak başlat

```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
```

Her parça ne yapıyor:

1. `--rm`, Claude Code çıkınca kapsayıcıyı siler.
2. `--user`, kendi kullanıcı kimliğinle çalıştırır; projedeki yeni dosyalar root’a ait olmaz.
3. `-v "$PWD":/work` projeyi bağlar, diskinden başka hiçbir şeyi değil.
4. tmpfs üzerindeki geçici `HOME`, CLI’ya ayarlarını yazacak bir yer verir.

### 3. Oturumu ve geçmişi çöz

Geçici bir ev klasörüyle Claude Code her çalıştırmada oturumunu ve konuşmalarını unutur. Bunun yerine ayrı bir ayar klasörü bağlayabilir ya da `-e ANTHROPIC_API_KEY` ile bir API anahtarı geçebilirsin. Gizli değerleri `-e AD=değer` yerine adıyla (`-e AD`) geç; değer kabuk geçmişinde görünmez.

Anthropic, Claude Code için güvenlik duvarlı örnek bir devcontainer kurulumu da yayınlıyor; devcontainer kullanıyorsan Claude Code belgelerindeki ilgili bölümü oku.

### Elle kurulum nerede yorar

Her yeni ajan aynı bayrakları yeniden yazmak demek. Devam etme, kullanım istatistikleri ve proje ayarları, sen bağlamadıkça kapsayıcının görmediği bir klasörde durur. `~/.gitconfig` bağlanmadıkça kapsayıcıdaki commit’lerin bir adı olmaz. Aynı anda birkaç ajan çalıştırıyorsan bu komutlardan birkaçını birden idare edersin.

## AgentVera ile Claude Code’u Docker içinde çalıştırmak

[AgentVera](/), kodlama ajanı CLI’larını gerçek terminallerde yan yana çalıştıran macOS, Windows ve Linux masaüstü uygulamasıdır. Claude Code ve Codex ajanlarında ajan penceresinde **Docker kapsayıcısında çalıştır** kutusu var. İpucu bunu açıkça söylüyor: ajan yalnızca proje klasörünü görür; bu bilgisayardaki diğer dosyalar, programlar ve SSH anahtarları ona kapalı kalır.

### Adımlar

1. Docker Desktop, Colima ya da OrbStack’i başlat.
2. AgentVera’da bir proje aç ve bir Claude Code ya da Codex ajanı ekle.
3. **Docker kapsayıcısında çalıştır** kutusunu işaretle. İstersen **İmaj**, CPU ve **Bellek (GB)** alanlarını doldur; bellek boş kalırsa sınır yoktur.
4. Ajanı başlat.

İlk kullanımda AgentVera kendi ajan imajını, `agentvera/agent:1`’i derler ve derleme çıktısını ajanın terminalinde izlersin. İmaj `node:22-bookworm-slim` tabanlıdır; git, ripgrep, jq, python3, make, g++ ve birkaç araç daha ile Claude Code ve Codex içerir. Kendi imajını verirsen içinde `claude` ya da `codex` komutu olmalı; makinende olmayan bir imaj çekilir.

Ardından ajan başlığında bir **Docker** etiketi görünür, panel de ajanın imaj adıyla birlikte bir Docker kapsayıcısında çalıştığını söyler. Var olan bir ajanı düzenleyerek kapsayıcıya alabilir ya da çıkarabilirsin; ajan yeniden başlar ve aynı konuşmayı sürdürür.

### AgentVera senin için neleri ayarlar

| Konu | AgentVera ne yapar |
| --- | --- |
| Proje dosyaları | Proje klasörünü bağlar (worktree’de deposunu da) |
| Oturum, devam, istatistik | CLI’nın konuşma klasörünü bağlar; devam etme, kullanım istatistikleri ve bütçeler her zamanki gibi çalışır |
| Git kimliği | `~/.gitconfig`’i salt okunur bağlar; commit’ler senin adını taşır |
| Dosya sahipliği | macOS ve Linux’ta senin kullanıcı kimliğinle çalışır; dosyalar root’a ait olmaz |
| Ev klasörü | tmpfs üzerinde yeni bir ev klasörü, kapsayıcı durunca gider |
| Sertleştirme | `no-new-privileges`, süreç sınırı ve bazı Linux yetkilerinin kaldırılması |
| Gizli değerler | Ortam değerleri adıyla geçilir; token’lar süreç listesinde görünmez |
| AgentVera araçları | Hook’lar ve proje haritası, pano, ajan mesajlaşması gibi MCP sunucuları çalışmaya devam eder |

Ajan durunca kapsayıcı silinir. Geriye yalnızca proje klasöründeki değişiklikler kalır.

Bilmen gereken birkaç şey:

- **Ağ açık.** Linux’ta kapsayıcı ana makinenin ağını kullanır; diğer sistemlerde AgentVera’nın yerel sunucularına `host.docker.internal` üzerinden ulaşır. Kapsayıcı dosyaları sınırlar, interneti değil.
- **macOS oturumu.** Claude Code oturumunu macOS anahtar zincirinde tutar, kapsayıcı onu okuyamaz; içeride bir kez giriş yapman gerekebilir.
- **Claude in Chrome** kapsayıcı içinde kullanılmaz. Playwright MCP üzerinden çalışan AgentVera tarayıcısı aynı pencerede ayrı bir seçenektir.
- **Yalnızca yerel ajanlar.** SSH üzerinden çalışan uzak ajanlar kendi sunucularında çalışır ve bu seçeneği almaz.

Docker ajanları ücretsiz planın parçası. Uygulamada ayrıca kendi kapsayıcıların ve compose projelerin için bir Docker yöneticisi sayfası var; [Docker özellik sayfasına](/ozellikler/docker/) bak.

## Kapsayıcıyı doğru izin düzeyiyle eşleştir

Daha gevşek bir izin düzeyini makul kılan şey kapsayıcıdır. AgentVera ajanlarının üç düzeyi var: **Sorsun**, **Otomatik** ve **Tam yetki**. Tam yetki ipucu, hiç sormadığını ve en iyi worktree ya da kapsayıcıda kullanıldığını söyler.

Uzun bir iş için pratik bir kurulum:

1. Ajanı kendi git worktree’sinde oluştur; değişiklikleri ayrı bir dalda kalsın.
2. **Docker kapsayıcısında çalıştır** kutusunu işaretle.
3. İşe ne kadar güvendiğine göre **Otomatik** ya da **Tam yetki** seç.
4. Bitince birleştirmeden önce farkı gözden geçir.

`--dangerously-skip-permissions` bayrağını düşünüyorsan [Claude Code izinlerini atlamak](/blog/claude-code-izinleri-atlamak/) yazısı artılarını ve eksilerini anlatıyor; [Claude Code’u gece çalıştırmak](/blog/claude-code-gece-calistirma/) da kimsenin izlemediği bir çalışmaya kapsayıcının nasıl oturduğunu gösteriyor.

## Kısa kontrol listesi

- Kapsayıcı ev klasörünü değil, yalnızca projeyi bağlıyor.
- Projedeki yeni dosyalar root’a değil sana ait.
- Gizli değerler imaja gömülmüyor, adıyla geçiliyor.
- İş commit’lenmiş ya da ajan bir worktree dalında.
- Ağın hâlâ açık olduğunu biliyorsun ve gerekiyorsa kural ekledin.

Claude Code ve Codex’i diğer ajanlarının yanında kapsayıcıda çalıştırmak için [AgentVera’yı indir](/indir/) ya da [Docker kapsayıcısında ajan](/ozellikler/docker-kapsayicisinda-ajan/) sayfasını oku.

## Sık sorulanlar

**Claude Code’u neden Docker içinde çalıştırayım?** Bilgisayarındaki bir ajan, kullanıcının okuyabildiği her şeyi okuyabilir: diğer projeler, SSH anahtarları, bulut kimlik bilgileri, tarayıcı verileri. Kapsayıcıda yalnızca bağladığın klasörleri görür; hatalı bir komut ya da prompt injection’ın ulaşabileceği yer çok daralır.

**Docker kapsayıcısı ajanın internetini keser mi?** Varsayılan olarak hayır. Sıradan bir kapsayıcının ağ erişimi vardır. Docker dosyaları ve süreçleri sınırlar; ağı da kısıtlamak istiyorsan kendi güvenlik duvarı kurallarını ya da ağ ayarını eklemen gerekir. AgentVera’nın ajan kapsayıcıları CLI API’sine ulaşabilsin diye ağı açık bırakır.

**AgentVera hangi ajanları kapsayıcıda çalıştırabiliyor?** Kendi bilgisayarında çalışan Claude Code ve Codex ajanlarını. SSH üzerinden çalışan uzak ajanlar kendi sunucularında çalışır ve bu seçeneği kullanmaz. Kapsayıcı için Docker Desktop, Colima ya da OrbStack açık olmalı.

**Kapsayıcının içinde yeniden giriş yapmam gerekir mi?** Genelde hayır, çünkü AgentVera CLI’nın konuşma klasörünü kapsayıcıya bağlar. macOS’ta Claude Code oturumunu anahtar zincirinde tutar ve kapsayıcı onu okuyamaz; bu yüzden içeride bir kez giriş yapman gerekebilir.

**Kapsayıcı içinde tam yetki modunu kullanmak güvenli mi?** Çıplak makineye göre çok daha güvenli; AgentVera’daki Tam yetki ipucu da bu yüzden en iyi worktree ya da kapsayıcıda olduğunu söyler. Ajan yine de proje klasöründeki dosyaları değiştirip silebilir; işini commit’le ve farkı gözden geçir.

---

**AgentVera hakkında.** AgentVera, Solviera Teknoloji tarafından geliştirilen macOS, Windows ve Linux masaüstü uygulamasıdır. 18 yapay zeka kodlama ajanını (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) proje bazında, gerçek terminallerde ve kullanıcının kendi CLI kurulum ve girişleriyle yan yana çalıştırır. Ücretsiz planda sınırsız ajan vardır. İndir: https://agentvera.dev/indir/ · Fiyatlar: https://agentvera.dev/fiyatlar/
