参照用のdevcontainerセットアップと関連するDockerfileは、そのまま使用することも、ニーズに合わせてカスタマイズすることもできる事前設定済みの開発コンテナを提供します。このdevcontainerはVisual Studio Code Dev Containers拡張機能および同様のツールと連携します。
コンテナの強化されたセキュリティ対策(分離とファイアウォールルール)により、claude --dangerously-skip-permissionsを実行して権限プロンプトをバイパスし、無人操作を行うことができます。
devcontainerは実質的な保護を提供していますが、すべての攻撃に完全に耐性のあるシステムはありません。
--dangerously-skip-permissionsで実行する場合、devcontainerはClaude Codeの認証情報を含むdevcontainer内でアクセス可能なものすべてを悪意のあるプロジェクトが流出させるのを防ぎません。
devcontainerは信頼できるリポジトリで開発する場合にのみ使用することをお勧めします。
常に適切なセキュリティ慣行を維持し、Claudeのアクティビティを監視してください。
主な機能
- 本番環境対応のNode.js: Node.js 20に基づき、必須の開発依存関係を含む
- 設計によるセキュリティ: 必要なサービスのみへのネットワークアクセスを制限するカスタムファイアウォール
- 開発者向けツール: git、生産性向上機能付きZSH、fzfなどを含む
- VS Code統合のシームレス化: 事前設定済みの拡張機能と最適化された設定
- セッション永続性: コンテナ再起動間でコマンド履歴と設定を保持
- どこでも動作: macOS、Windows、Linuxの開発環境と互換性
4ステップで始める
- VS Codeとリモート - コンテナ拡張機能をインストール
- Claude Code参照実装リポジトリをクローン
- VS Codeでリポジトリを開く
- プロンプトが表示されたら、「コンテナで再度開く」をクリック(またはコマンドパレットを使用: Cmd+Shift+P → 「Remote-Containers: Reopen in Container」)
設定の詳細
devcontainerセットアップは3つの主要なコンポーネントで構成されています:
セキュリティ機能
コンテナはファイアウォール設定により多層的なセキュリティアプローチを実装しています:
- 正確なアクセス制御: ホワイトリストに登録されたドメインのみへの送信接続を制限(npmレジストリ、GitHub、Claude APIなど)
- 許可された送信接続: ファイアウォールは送信DNS接続とSSH接続を許可
- デフォルト拒否ポリシー: その他すべての外部ネットワークアクセスをブロック
- スタートアップ検証: コンテナ初期化時にファイアウォールルールを検証
- 分離: メインシステムから分離された安全な開発環境を作成
カスタマイズオプション
devcontainer設定はニーズに適応するように設計されています:
- ワークフローに基づいてVS Code拡張機能を追加または削除
- 異なるハードウェア環境向けにリソース割り当てを変更
- ネットワークアクセス権限を調整
- シェル設定と開発者ツールをカスタマイズ
使用例
セキュアなクライアント作業
devcontainerを使用して異なるクライアントプロジェクトを分離し、コードと認証情報が環境間で混在しないようにします。
チームオンボーディング
新しいチームメンバーは数分で完全に設定された開発環境を取得でき、必要なすべてのツールと設定が事前にインストールされています。
一貫性のあるCI/CD環境
devcontainer設定をCI/CDパイプラインにミラーリングして、開発環境と本番環境が一致することを確認します。
関連リソース