メインコンテンツまでスキップ

Dockerサンドボックス構築ガイド / Docker Sandboxing Guide

🐳 AIを「安全な檻」の中で走らせる

AIエージェントにプログラムの生成と実行を任せるとき、最も安全な構成は Docker(コンテナ)内で隔離して動かすことです。コンテナ内で何が起きても、あなたのホストPC(Macなど)本体に影響はありません。

なぜDockerが最強の安全策なのか?

graph LR;
subgraph Host[あなたのPC 🖥]
OS[macOS / Linux]
Files[大事なファイル ❤️]
end

subgraph Container[Docker コンテナ 📦]
Agent[AIエージェント 🤖]
Sandbox[隔離されたファイル]
Agent -->|自由に読み書き| Sandbox
end

Container -.->|壁:アクセス不可| Files
Host --> Container

ドッカーの考え方: AIがどんなに暴走しても(rm -rf / を叩こうが、おかしなプログラムを走らせようが)、「コンテナの壁」に阻まれ、あなたのホストは無傷。コンテナを消して作り直せば元通りです。

Step 1: Dockerのインストール

Dockerがまだない場合は Docker Desktop をインストールしてください。

Step 2: Dockerfileの作成

ワークスペースのルートに以下の内容で Dockerfile を作成します。

Dockerfile
FROM node:20-slim

# 作業ディレクトリの設定
WORKDIR /app

# OpenClawのインストール
RUN npm install -g openclaw

# ワークスペースのコピー
COPY . /app/workspace

# ポートの公開(必要に応じて)
EXPOSE 3000

# 起動コマンド
CMD ["openclaw", "agent", "--agent", "main"]

Step 3: コンテナのビルドと起動

# イメージのビルド
docker build -t my-openclaw-agent .

# コンテナの起動(APIキーは環境変数で安全に渡す)
docker run -d \
--name openclaw-agent \
-e CEREBRAS_API_KEY="csk-your-key-here" \
-e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." \
--restart unless-stopped \
my-openclaw-agent

Step 4: ログの確認

# リアルタイムログの表示
docker logs -f openclaw-agent

# コンテナの状態確認
docker ps

運用のコツ

テクニックコマンド説明
コンテナの停止docker stop openclaw-agent一時停止
コンテナの再起動docker restart openclaw-agentプロセス更新
コンテナの削除docker rm -f openclaw-agent完全に破棄
ファイルの取り出しdocker cp openclaw-agent:/app/workspace/report.md .成果物の回収
💡 実運用のベストプラクティス
  • APIキーはファイルに書き込まず、-e オプションで渡すのが鉄則です。
  • --restart unless-stopped をつけておくと、PC再起動時も自動復帰します。
  • 重要な成果物は docker cp コマンドで定期的にホストに取り出しておきましょう。