🐷

macOSコンテナ環境でのClaude Code使い方

に公開

はじめに

Claude CodeなどのAI AgentをMac上で安全に動かすため、隔離されたコンテナ環境での実行方法をご紹介します。macOS + Docker Desktop + VS Code DevContainersを使用し、システムへの予期せぬ影響を防ぎつつ、効率的な開発環境を構築できます。

TL;DR

  • セキュリティ向上: Claude Codeをコンテナ内で実行し、ホストシステムを保護
  • 簡単セットアップ: Docker Desktop + DevContainersで一発構築
  • 自動化対応: Shell scriptで起動からClaude Code実行まで自動化可能

前提条件

ツール 用途 ダウンロード先
Git ソースコード管理 公式サイト
VS Code 開発環境 公式サイト
Node.js DevContainers CLI 公式サイト
Docker Desktop コンテナ環境 公式サイト

セットアップ手順

1. Docker Desktopのインストール

  1. CPUタイプに応じて適切なバージョンをダウンロード:
  2. インストール後、ターミナルで動作確認:
docker --version

2. DevContainers CLIのインストール

npm install -g @devcontainers/cli

3. Claude Codeのクローン

git clone https://github.com/anthropics/claude-code.git
cd claude-code
ls -la .devcontainer  # 設定ファイルの確認

4. プロジェクトへの設定コピー

Claude Codeの.devcontainerフォルダを、開発プロジェクトのルートディレクトリにコピーします。

5. DevContainerの起動

VS Codeでプロジェクトを開き、ターミナルで実行:

devcontainer up --workspace-folder .

6. コンテナへの接続

# コンテナIDを確認
docker ps

# コンテナに接続
docker exec -it <CONTAINER_ID> zsh

7. Claude Codeの実行

claude

自動化スクリプト

以下のShell scriptで一連の作業を自動化できます:

#!/bin/bash
# claude-code-launcher.sh

echo "--- Claude Code DevContainer 起動スクリプト ---"

# Docker Desktop起動確認
if ! docker info >/dev/null 2>&1; then
    echo "Docker Desktopを起動してください"
    exit 1
fi

# DevContainer起動
echo "DevContainerを起動中..."
devcontainer up --workspace-folder .

# コンテナID取得
CONTAINER_ID=$(docker ps --filter "label=devcontainer.local_folder=$(pwd)" --format "{{.ID}}")

if [ -z "$CONTAINER_ID" ]; then
    echo "コンテナが見つかりません"
    exit 1
fi

echo "コンテナに接続中: $CONTAINER_ID"
docker exec -it $CONTAINER_ID zsh -c 'claude; exec zsh'

実行方法:

chmod +x claude-code-launcher.sh
./claude-code-launcher.sh

参考文献

脚注
  1. 1 ↩︎

  2. 2 ↩︎

  3. 3 ↩︎

  4. 4 ↩︎

Discussion