參考的 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 步驟快速開始

  1. 安裝 VS Code 和 Remote - Containers 擴充功能
  2. 複製 Claude Code 參考實作 儲存庫
  3. 在 VS Code 中開啟儲存庫
  4. 當提示時,點擊「在容器中重新開啟」(或使用命令面板:Cmd+Shift+P → “Remote-Containers: Reopen in Container”)

配置詳解

devcontainer 設定由三個主要元件組成:

安全功能

容器透過其防火牆配置實作多層安全方法:

  • 精確存取控制:僅限制對白名單域名的出站連線(npm 註冊表、GitHub、Anthropic API 等)
  • 允許的出站連線:防火牆允許出站 DNS 和 SSH 連線
  • 預設拒絕政策:阻止所有其他外部網路存取
  • 啟動驗證:在容器初始化時驗證防火牆規則
  • 隔離:建立與您主系統分離的安全開發環境

自訂選項

devcontainer 配置設計為可適應您的需求:

  • 根據您的工作流程新增或移除 VS Code 擴充功能
  • 為不同硬體環境修改資源分配
  • 調整網路存取權限
  • 自訂 shell 配置和開發者工具

使用案例範例

安全客戶工作

使用 devcontainer 隔離不同的客戶專案,確保程式碼和憑證永不在環境之間混合。

團隊入職

新團隊成員可以在幾分鐘內獲得完全配置的開發環境,並預先安裝所有必要的工具和設定。

一致的 CI/CD 環境

在 CI/CD 管道中鏡像您的 devcontainer 配置,以確保開發和生產環境匹配。

相關資源