GGPT Master GuideAIを、日々の作業に。

Claude CodeをDevContainerで動かして権限確認を減らす方法

公開 2026-04-25 更新 2026-09-11

Claude CodeをDevContainerで動かして権限確認を減らす方法

関連テーマ:権限と実行範囲を確認する

Dev Containerは、プロジェクトと開発ツールをコンテナにまとめ、ホスト環境から分離しやすくする方法です。Claude Codeの公式案内はDevelopment containersです。コンテナを使えば確認が不要になるのではなく、許可対象を隔離したうえで承認ルールを設計しやすくなります。

先にコンテナを作る

ホストとコンテナの間で、何を共有するかを決めます。

図解コンテナの境界で確認するもの
  • ホスト側元ファイル、認証、Docker。渡すマウントを限定する。
  • コンテナ側開発ツールと作業場所。書き込み・通信先を確認する。

広いマウントやホストのDockerソケットは境界を弱めます。コンテナ内の変更がホストへ反映される範囲も点検します。

プロジェクトに.devcontainer/devcontainer.jsonを作成します。Claude Codeの公式Dev Container Featureを使う最小構成は、Dockerfileを別に用意せず次の1ファイルで動かせます。

{
  "name": "project-dev",
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
  }
}

VS CodeとDev Containers拡張、Dockerを準備し、コマンドパレットの「Dev Containers: Rebuild Container」を実行します。再構築後、コンテナ内のターミナルでclaudeを起動して認証します。Node.jsのインストールで失敗するベースイメージでは、公式例どおりghcr.io/devcontainers/features/node:1を同じfeaturesへ追加します。プロジェクト固有のランタイムやツールが必要なら、公式リポジトリのreference containerを出発点に、.devcontainer/devcontainer.jsonDockerfile、必要ならinit-firewall.shを自分の構成へコピーして調整します。Windows側のC:\とコンテナの/workspaces/...は別のパスです。

認証をイメージへ焼き込まず、ホストの~/.sshやクラウド資格情報ファイルをマウントしません。再構築後も設定を残す必要がある場合だけ、公式例の名前付きボリュームを~/.claudeへマウントし、CLAUDE_CONFIG_DIRを同じ場所に設定します。共有環境ではトークンの範囲と有効期限も決めます。

権限を設計する

コンテナ内で書き込み可能なディレクトリ、ネットワークの要否、ホストとのマウント、Gitの認証範囲を決めます。AutoやAccept Editsは承認フロー、サンドボックスはBashの制限なので、permission modesSandboxingを併読します。特権コンテナ、ホストDockerソケット、広いbind mountは隔離を弱めます。

作業後の確認

変更前のGit状態を保存し、読み取り依頼、限定した編集、テストの順で進めます。終了後に差分、テストログ、コンテナが作ったファイル、ホストへ出た成果物を確認します。イメージやコンテナを安全と断定せず、プロジェクトの脅威モデルに合わせて再評価します。権限確認を減らす設定内蔵サンドボックスも参照してください。

このテーマを続けて読む

モードを比較し、計画と実装、WindowsとWSL2の違いを整理します。

権限と実行範囲を確認するの記事をまとめて見る