Sebuah kontainer pengembangan, atau dev container, memungkinkan Anda mendefinisikan lingkungan yang identik dan terisolasi yang dapat dijalankan oleh setiap insinyur di tim Anda. Dengan Claude Code yang diinstal di kontainer tersebut, perintah yang dijalankan Claude dieksekusi di dalamnya daripada di mesin host, sementara pengeditan file proyek Anda muncul di repositori lokal Anda saat Anda bekerja. Halaman ini mencakup menginstal Claude Code di dev container Anda dan topik konfigurasi yang mengikuti. Setiap topik berdiri sendiri, jadi lompat ke topik yang sesuai dengan apa yang perlu Anda atur:Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
- Pertahankan autentikasi dan pengaturan di seluruh rebuild
- Terapkan kebijakan organisasi
- Batasi egress jaringan
- Jalankan tanpa permintaan izin
Bagaimana dev container bekerja dengan editor Anda
Bagaimana dev container bekerja dengan editor Anda
claude di terminal terintegrasi; keduanya berjalan di dalam kontainer dan berbagi konfigurasi ~/.claude yang sama.Tambahkan Claude Code ke dev container Anda
Claude Code diinstal ke dalam dev container apa pun melalui Claude Code Dev Container Feature. Pengaturan bekerja dengan alat apa pun yang mendukung spesifikasi Dev Containers, seperti VS Code, GitHub Codespaces, atau JetBrains IDEs. Langkah-langkah di bawah menggunakan VS Code sebagai contoh. Ketika Anda membuka kontainer di VS Code atau Codespaces, fitur juga menambahkan ekstensi VS Code Claude Code; editor lain mengabaikan bagian itu.Buat atau perbarui devcontainer.json
Simpan yang berikut sebagai Ganti baris
.devcontainer/devcontainer.json di repositori Anda, atau tambahkan blok features ke file yang sudah ada.Tag versi di akhir, seperti :1.0, menentukan skrip instalasi fitur, bukan rilis Claude Code. Fitur menginstal Claude Code terbaru, dan Claude Code secara otomatis memperbarui dirinya sendiri di dalam kontainer secara default.Untuk menentukan versi CLI atau menonaktifkan auto-update, lihat Terapkan kebijakan organisasi..devcontainer/devcontainer.json
image dengan citra dasar proyek Anda atau hapus jika file yang ada menggunakan Dockerfile.Rebuild kontainer
Buka Command Palette VS Code dengan
Cmd+Shift+P di Mac atau Ctrl+Shift+P di Windows dan Linux, dan jalankan Dev Containers: Rebuild Container.Untuk alat lain, ikuti tindakan rebuild alat tersebut: lihat rebuilding di GitHub Codespaces, Dev Containers CLI, atau dokumentasi dev container IDE Anda.- Anthropic: masuk melalui browser dengan akun Claude atau Anthropic Console Anda
- Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry: Claude Code menggunakan kredensial penyedia cloud Anda, tanpa permintaan browser
containerEnv, rahasia Codespaces, atau identitas workload cloud Anda daripada memasang file kredensial dari host. Lihat Amazon Bedrock, Google Vertex AI, atau Microsoft Foundry untuk rantai kredensial yang dibaca Claude Code.
Lihat Pilih penyedia API Anda untuk memutuskan jalur mana yang sesuai dengan organisasi Anda.
Jika masuk browser selesai tetapi callback tidak pernah mencapai kontainer, salin kode yang ditampilkan di browser dan tempel di permintaan
Paste code here if prompted di terminal. Ini dapat terjadi ketika port forwarding editor tidak merutekan callback localhost.Pertahankan autentikasi dan pengaturan di seluruh rebuild
Secara default, direktori home kontainer dibuang saat rebuild, jadi insinyur harus masuk lagi setiap kali. Claude Code menyimpan token autentikasi, pengaturan pengguna, dan riwayat sesi di bawah~/.claude. Pasang volume bernama di jalur tersebut untuk menjaga status ini di seluruh rebuild.
Contoh berikut memasang volume di direktori home pengguna node:
devcontainer.json
/home/node dengan direktori home remoteUser kontainer Anda. Jika Anda memasang volume di tempat lain selain ~/.claude, atur CLAUDE_CONFIG_DIR ke jalur mount sehingga Claude Code membaca dan menulis di sana.
Untuk mengisolasi status per proyek daripada berbagi satu volume di semua repositori, sertakan variabel ${devcontainerId} dalam nama sumber. Konfigurasi referensi menggunakan source=claude-code-config-${devcontainerId} untuk tujuan ini.
Di GitHub Codespaces, ~/.claude bertahan di seluruh penghentian dan memulai codespace, tetapi masih dihapus saat Anda membangun kembali kontainer, jadi pemasangan volume di atas juga berlaku di sana. Untuk membawa autentikasi di seluruh codespace, simpan ANTHROPIC_API_KEY atau CLAUDE_CODE_OAUTH_TOKEN dari claude setup-token sebagai rahasia Codespaces; Codespaces membuat rahasia tersedia sebagai variabel lingkungan di dalam kontainer secara otomatis.
Terapkan kebijakan organisasi
Dev container adalah tempat yang nyaman untuk menerapkan kebijakan organisasi, karena citra dan konfigurasi yang sama berjalan di mesin setiap insinyur. Claude Code membaca/etc/claude-code/managed-settings.json di Linux dan menerapkannya dengan prioritas tertinggi dalam hierarki pengaturan, jadi nilai di sana menggantikan apa pun yang ditetapkan insinyur di ~/.claude atau direktori .claude/ proyek. Salin file ke tempat dari Dockerfile Anda:
Dockerfile
containerEnv di devcontainer.json Anda. Contoh berikut memilih keluar dari telemetri dan pelaporan kesalahan dan mencegah Claude Code dari auto-update setelah instalasi:
devcontainer.json
npm install -g @anthropic-ai/claude-code@X.Y.Z daripada menggunakan fitur, dan atur DISABLE_AUTOUPDATER seperti yang ditunjukkan di atas.
Untuk daftar lengkap kontrol kebijakan termasuk aturan izin, pembatasan alat, dan allowlist server MCP, lihat Atur Claude Code untuk organisasi Anda.
Untuk membuat server MCP tersedia di dalam kontainer, tentukan di cakupan proyek dalam file .mcp.json di akar repositori sehingga diperiksa bersama konfigurasi dev container Anda. Instal binari apa pun yang bergantung pada server stdio lokal di Dockerfile Anda, dan tambahkan domain server jarak jauh ke allowlist jaringan Anda.
Batasi egress jaringan
Anda dapat membatasi lalu lintas keluar kontainer hanya ke domain yang dibutuhkan Claude Code. Lihat Persyaratan akses jaringan untuk domain inferensi dan autentikasi, dan Layanan telemetri untuk koneksi telemetri dan pelaporan kesalahan opsional dan cara menonaktifkannya. Kontainer referensi mencakup skripinit-firewall.sh yang memblokir semua lalu lintas keluar kecuali domain yang dibutuhkan Claude Code dan alat pengembangan Anda. Menjalankan firewall di dalam kontainer memerlukan izin ekstra, jadi referensi menambahkan kemampuan NET_ADMIN dan NET_RAW melalui runArgs. Skrip firewall dan kemampuan ini tidak diperlukan untuk Claude Code itu sendiri: Anda dapat meninggalkannya dan mengandalkan kontrol jaringan Anda sendiri.
Jalankan tanpa permintaan izin
Karena kontainer menjalankan Claude Code sebagai pengguna non-root dan membatasi eksekusi perintah ke kontainer, Anda dapat melewatkan--dangerously-skip-permissions untuk operasi tanpa pengawasan. CLI menolak flag ini saat diluncurkan sebagai root, jadi konfirmasi remoteUser diatur ke akun non-root.
Melewatkan permintaan izin menghilangkan kesempatan Anda untuk meninjau panggilan alat sebelum dijalankan. Claude masih dapat memodifikasi file apa pun di workspace yang di-bind-mount, yang muncul langsung di host Anda, dan menjangkau apa pun yang diizinkan kebijakan jaringan kontainer. Pasangkan flag ini dengan pembatasan egress jaringan di atas untuk membatasi apa yang dapat dijangkau sesi yang dilewati.
Jika Anda menginginkan lebih sedikit permintaan tanpa menonaktifkan pemeriksaan keamanan, pertimbangkan mode otomatis, yang memiliki pengklasifikasi meninjau tindakan sebelum dijalankan. Untuk mencegah insinyur menggunakan --dangerously-skip-permissions sama sekali, atur permissions.disableBypassPermissionsMode ke "disable" dalam pengaturan terkelola.
Coba kontainer referensi
Repositorianthropics/claude-code mencakup contoh dev container yang menggabungkan CLI, firewall egress, volume persisten, dan shell berbasis Zsh. Ini disediakan sebagai contoh kerja daripada citra dasar yang dipertahankan; gunakan untuk melihat bagaimana potongan-potongan cocok bersama sebelum menerapkannya ke konfigurasi Anda sendiri.
Instal prasyarat
Instal VS Code dan ekstensi Dev Containers.
Kloning referensi
Kloning repositori Claude Code dan buka di VS Code.
Buka kembali di kontainer
Ketika diminta, klik Reopen in Container, atau jalankan Dev Containers: Reopen in Container dari Command Palette.
.devcontainer/ ke repositori Anda dan sesuaikan Dockerfile untuk toolchain Anda, atau kembali ke Tambahkan Claude Code ke dev container Anda untuk menambahkan hanya fitur ke setup yang sudah Anda miliki.
Konfigurasi referensi terdiri dari tiga file. Tidak satupun dari mereka diperlukan saat Anda menambahkan Claude Code ke dev container Anda sendiri melalui fitur, tetapi mereka menunjukkan satu cara untuk menggabungkan potongan-potongan.
| File | Tujuan |
|---|---|
devcontainer.json | Pemasangan volume, kemampuan runArgs, ekstensi VS Code, dan containerEnv |
Dockerfile | Citra dasar, alat pengembangan, dan instalasi Claude Code |
init-firewall.sh | Memblokir semua lalu lintas jaringan keluar kecuali domain yang diizinkan |
Langkah berikutnya
Setelah Claude Code berjalan di dev container Anda, halaman di bawah mencakup sisa peluncuran organisasi: memilih jalur autentikasi, memberikan kebijakan terkelola di luar repositori, memantau penggunaan, dan memahami apa yang disimpan dan dikirim Claude Code.- Atur Claude Code untuk organisasi Anda: pilih penyedia autentikasi, putuskan bagaimana kebijakan mencapai perangkat, dan rencanakan peluncuran
- Pengaturan yang dikelola server: berikan kebijakan terkelola dari konsol admin Claude.ai sehingga insinyur tidak dapat melewatinya dengan mengedit file repositori
- Pantau penggunaan dan aktivitas audit: ekspor metrik OpenTelemetry dan tinjau apa yang dijalankan tim Anda
- Persyaratan akses jaringan: daftar domain lengkap untuk proxy dan firewall
- Layanan telemetri dan opt-out: apa yang dikirim Claude Code secara default dan variabel lingkungan yang menonaktifkannya
- Jelajahi direktori
.claude: apa yang disimpan pemasangan volume, termasuk kredensial, pengaturan, dan riwayat sesi - Model keamanan: bagaimana sistem izin Claude Code, sandboxing, dan perlindungan injeksi prompt cocok bersama
- Mode izin: rentang lengkap dari mode rencana ke mode otomatis ke bypass, dan kapan menggunakan masing-masing