Windows 11上のDocker環境(Sandbox)で、AnthropicのCLIツール「Claude Code」を実行するための手順を説明します。
Dockerを使用することで、ホストPC(Windows 11)の環境を汚さず、安全な隔離環境(サンドボックス)でClaude Codeを試すことができます。
---
### 前提条件
1. **Docker Desktop for Windows** がインストールされ、起動していること(WSL 2 バックエンドを推奨)。
2. **Anthropic の API キー**(`sk-ant-` から始まるもの)を取得していること。
---
### 1. 構築手順(Dockerfileの作成)
作業用のフォルダを作成し、その中にClaude CodeをインストールしたDockerイメージを作成するための `Dockerfile` を用意します。
#### ステップ 1: 作業フォルダの作成
Windowsのターミナル(PowerShellなど)を開き、任意の場所に作業フォルダを作成して移動します。
```powershell
mkdir claude-sandbox
cd claude-sandbox
```
#### ステップ 2: Dockerfile の作成
作成したフォルダ内に `Dockerfile` という名前のファイル(拡張子なし)を作成し、以下の内容を保存します。
```dockerfile
# Node.jsの公式軽量イメージを使用
FROM node:20-slim
# gitなどの必要なツールをインストール
RUN apt-get update && apt-get install -y \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
# Claude Code をグローバルにインストール
RUN npm install -g @anthropic-ai/claude-code
# コンテナ内の作業ディレクトリを設定
WORKDIR /workspace
# デフォルトのエントリポイントを claude コマンドに設定
ENTRYPOINT ["claude"]
```
#### ステップ 3: Dockerイメージのビルド
ターミナルで以下のコマンドを実行し、イメージをビルドします(最後にドット `.` が必要です)。
```powershell
docker build -t claude-code-sandbox .
```
---
### 2. 起動方法(サンドボックスでの実行)
ビルドしたイメージを使ってコンテナを起動します。
Windows上の特定のプロジェクトフォルダ(コードを編集したいディレクトリ)に移動するか、テスト用のフォルダを作成してそこで実行します。
PowerShellで以下のコマンドを実行します。APIキーの部分は、ご自身のキーに置き換えてください。
```powershell
docker run -it --rm `
-v "${PWD}:/workspace" `
-e ANTHROPIC_API_KEY="your-api-key-here" `
claude-code-sandbox
```
*※注意: コマンドプロンプト(cmd)を使用する場合は、バックティック(`` ` ``)の代わりにハット(`^`)を使用するか、改行せずに1行で入力してください。*
#### コマンドの解説:
* `-it`: インタラクティブモードでコンテナを起動し、ターミナル入力を可能にします。
* `--rm`: コンテナ終了時に、コンテナを自動的に削除します。
* `-v "${PWD}:/workspace"`: 現在のWindowsの作業フォルダを、コンテナ内の `/workspace` にマウントします。これにより、Claudeが作成・編集したファイルがWindows側にも保存されます。
* `-e ANTHROPIC_API_KEY="..."`: AnthropicのAPIキーを環境変数としてコンテナに渡します。
---
### 3. 簡単な利用方法
コンテナが起動すると、Claude Codeの対話型コンソールが開始されます。初期起動時には利用規約への同意や、いくつかのセットアップ質問(任意)が表示される場合があります。画面の指示に従ってください。
起動後は、以下のように対話的に指示を出すことができます。
#### 実行例
1. **新規ファイルの作成を依頼する:**
```text
> Pythonで簡単なWebスクレイピングのコードを書いて、sample.pyという名前で保存して。
```
*Claudeはコードを生成し、作業ディレクトリに `sample.py` を作成します。マウントしているため、Windows側のフォルダにも即座に反映されます。*
2. **作成したコードの実行を依頼する:**
```text
> sample.pyを実行して動作確認してみて。
```
*Claudeはコンテナの環境内でコマンドを実行し、結果を報告します。*
3. **ツールの終了:**
対話を終了してコンテナを抜けるには、以下のコマンドを入力します。
```text
> /exit
```
### 留意事項
* **サンドボックスの制限**: このDockerコンテナ内には最小限のツール(Node.js, git, curl)しか入っていません。Pythonやその他の言語を実行させたい場合は、`Dockerfile` に必要な言語(Pythonやgccなど)を追記してイメージを再ビルドする必要があります。
* **ネットワークアクセス**: コンテナ内からインターネットへのアクセスは可能ですが、ローカルホスト(Windows側)の特定のポートにアクセスさせる場合は、追加のポートマッピング(`-p` オプションなど)が必要になる場合があります。