參考 devcontainer 設置 和相關的 Dockerfile 提供了一個預先配置的開發容器,您可以按原樣使用或根據需要自訂。此 devcontainer 與 Visual Studio Code Dev Containers 擴充功能 和類似工具相容。
容器的增強安全措施(隔離和防火牆規則)允許您執行 claude --dangerously-skip-permissions 以繞過權限提示以進行無人值守操作。
雖然 devcontainer 提供了實質性的保護,但沒有任何系統完全免疫所有攻擊。
當使用 --dangerously-skip-permissions 執行時,devcontainer 不會阻止惡意專案從 devcontainer 中可存取的任何內容(包括 Claude Code 認證)中洩露資料。
我們建議僅在使用受信任的儲存庫進行開發時使用 devcontainer。
始終保持良好的安全實踐並監控 Claude 的活動。
主要功能
- 生產就緒的 Node.js:基於 Node.js 20 構建,具有必要的開發依賴項
- 安全設計:自訂防火牆限制網路存取僅限於必要的服務
- 開發人員友善的工具:包括 git、具有生產力增強功能的 ZSH、fzf 等
- 無縫 VS Code 整合:預先配置的擴充功能和最佳化的設定
- 工作階段持久性:在容器重新啟動之間保留命令歷史記錄和配置
- 隨處可用:相容於 macOS、Windows 和 Linux 開發環境
4 步開始使用
- 安裝 VS Code 和 Remote - Containers 擴充功能
- 複製 Claude Code 參考實現 儲存庫
- 在 VS Code 中開啟儲存庫
- 出現提示時,按一下「在容器中重新開啟」(或使用命令面板:Cmd+Shift+P → 「Remote-Containers: Reopen in Container」)
配置詳細說明
devcontainer 設置由三個主要元件組成:
安全功能
容器透過其防火牆配置實現多層安全方法:
- 精確存取控制:將出站連線限制為僅白名單網域(npm 登錄、GitHub、Claude API 等)
- 允許的出站連線:防火牆允許出站 DNS 和 SSH 連線
- 預設拒絕原則:阻止所有其他外部網路存取
- 啟動驗證:在容器初始化時驗證防火牆規則
- 隔離:建立與主系統分離的安全開發環境
自訂選項
devcontainer 配置設計為可適應您的需求:
- 根據您的工作流程新增或移除 VS Code 擴充功能
- 修改資源分配以適應不同的硬體環境
- 調整網路存取權限
- 自訂 shell 配置和開發人員工具
範例使用案例
安全的客戶端工作
使用 devcontainer 隔離不同的客戶端專案,確保程式碼和認證不會在環境之間混合。
團隊入職
新團隊成員可以在幾分鐘內獲得完全配置的開發環境,所有必要的工具和設定都已預先安裝。
一致的 CI/CD 環境
在 CI/CD 管道中鏡像您的 devcontainer 配置,以確保開發和生產環境相符。
相關資源