事前設定されたdevcontainerセットアップは、VS CodeのRemote - Containers拡張機能や類似のツールとシームレスに動作します。

コンテナの強化されたセキュリティ対策(分離とファイアウォールルール)により、claude --dangerously-skip-permissionsを実行して無人操作のための権限プロンプトをバイパスできます。ニーズに合わせてカスタマイズできるリファレンス実装を含めています。

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. プロンプトが表示されたら、「Reopen in Container」をクリック(またはコマンドパレットを使用:Cmd+Shift+P → “Remote-Containers: Reopen in Container”)

設定の詳細

devcontainerセットアップは3つの主要コンポーネントで構成されています:

  • devcontainer.json: コンテナ設定、拡張機能、ボリュームマウントを制御
  • Dockerfile: コンテナイメージとインストールされたツールを定義
  • init-firewall.sh: ネットワークセキュリティルールを確立

セキュリティ機能

コンテナはファイアウォール設定による多層セキュリティアプローチを実装しています:

  • 精密なアクセス制御: ホワイトリストに登録されたドメインのみへの送信接続を制限(npmレジストリ、GitHub、Anthropic APIなど)
  • デフォルト拒否ポリシー: その他すべての外部ネットワークアクセスをブロック
  • 起動時検証: コンテナ初期化時にファイアウォールルールを検証
  • 分離: メインシステムから分離された安全な開発環境を作成

カスタマイズオプション

devcontainer設定はニーズに適応できるよう設計されています:

  • ワークフローに基づいてVS Code拡張機能を追加または削除
  • 異なるハードウェア環境のリソース割り当てを変更
  • ネットワークアクセス権限を調整
  • シェル設定と開発者ツールをカスタマイズ

使用例

安全なクライアント作業

devcontainerを使用して異なるクライアントプロジェクトを分離し、コードと認証情報が環境間で混在しないことを保証します。

チームオンボーディング

新しいチームメンバーは、必要なすべてのツールと設定が事前インストールされた完全に設定された開発環境を数分で取得できます。

一貫したCI/CD環境

CI/CDパイプラインでdevcontainer設定をミラーリングして、開発環境と本番環境が一致することを保証します。

関連リソース