Docker Sandboxes クイックスタート

sbx CLI をインストールし、認証情報を設定して、最初のサンドボックス セッションを実行するまでの手順を解説します。

Docker Sandboxes は、隔離された microVM サンドボックス内で AI コーディング エージェントを実行します。各サンドボックスには独自の Docker デーモン、ファイル システム、ネットワークが割り当てられ、エージェントはホスト システムに影響を与えることなくコンテナーのビルド、パッケージのインストール、ファイルの変更を行うことができます。

このページでは、CLI のインストール、エージェントの認証、サンドボックスの実行、エージェントのワークスペースの分離、クリーンアップといった、一般的な最初のセッションの手順を解説します。

ステップ 1: 前提条件
macOS
  • macOS Sonoma (バージョン 14) 以降
  • Apple silicon
Windows
  • 64-bit Intel または AMD (x86_64)
  • Windows 11
  • Windows Hypervisor Platform が有効化されていること。管理者として PowerShell を実行し、以下のコマンドを実行します。
    Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All
Linux (Ubuntu)
  • Ubuntu 24.04 以降
  • 64-bit Intel または AMD (x86_64)
  • CPU によって KVM ハードウェア仮想化がサポートされ、有効になっていること。VM 内で実行している場合は、ネストされた仮想化がオンになっている必要があります。
    KVM が利用可能か確認するには:
    $ lsmod | grep kvm
    正常な場合は kvm_intel または kvm_amd が出力されます。
  • ユーザーが kvm グループに属していること:
    $ sudo usermod -aG kvm $USER
    変更を反映するには、一度ログアウトして再度ログインしてください。

使用するエージェントの API キー、または認証方法。ほとんどのエージェントは、それぞれのモデル プロバイダー (Anthropic、OpenAI、Google など) の API キーを必要とします。プロバイダー固有の手順については、エージェントのページ (英語) を参照してください。

Docker Desktop は sbx の使用には必須ではありません。

ステップ 2: インストールとサインイン
macOS
$ brew install docker/tap/sbx
$ sbx login
Windows
> winget install -h Docker.sbx
> sbx login
Linux (Ubuntu)
$ curl -fsSL https://get.docker.com | sudo REPO_ONLY=1 sh
$ sudo apt-get install docker-sbx
$ sbx login

※ Linux の場合: 最初のコマンドは、Docker の apt リポジトリをシステムに追加します。

sbx を手動でインストールする必要がある場合は、sbx-releases リポジトリからバイナリを直接ダウンロードしてください。

sbx login を実行すると、ブラウザが開いて Docker の OAuth ログインが求められます。初回ログイン時 (および sbx policy reset を実行した後)、CLI はサンドボックスのデフォルトのネットワーク ポリシーを選択するようプロンプトを表示します:

Choose a default network policy:

     1. Open         — All network traffic allowed, no restrictions.
     2. Balanced     — Default deny, with common dev sites allowed.
     3. Locked Down  — All network traffic blocked unless you allow it.

Use ↑/↓ to navigate, Enter to select, or press 1–3.

Balanced は出発点として適しています。 一般的な開発サービスへのトラフィックを許可し、それ以外をブロックします。個々のルールは後で調整できます。各オプションの完全な説明については、ポリシー (英語) を参照してください。

ステップ 3: エージェントの認証

エージェントにはモデル プロバイダーの認証情報が必要です。提供方法はエージェントによって異なります。

Claude サブスクリプション (Max、Team、または Enterprise) を使用する Claude Code の場合、事前の設定は不要です。サンドボックス内で /login コマンドを使用して、OAuth でサインインします。セッション トークンはホスト上に残り、プロキシによって挿入されるため、サンドボックス内には保存されません。

API キーを使用するエージェントの場合 (または Claude Code で API キー認証を希望する場合)、サンドボックスを開始する前にキーを保存します:

$ sbx secret set -g anthropic

プロンプトに従ってシークレットの値を入力すると、OS のキーチェーンに保存されます。ホスト上のプロキシが外部 API リクエストにキーを挿入するため、サンドボックス内にシークレットが露出することはありません。スコープ、サポートされているサービス、および代替の認証方法の詳細については、資格情報 (英語) を参照してください。

プル リクエストの作成やリポジトリとのやり取りなど、エージェントに GitHub へのアクセス権を与えるには、次のように実行します:

$ sbx secret set -g github -t "$(gh auth token)"
ステップ 4: 最初のサンドボックスの実行

プロジェクト ディレクトリを選択し、sbx run でエージェントを起動します。

$ cd ~/my-project
$ sbx run --name my-sandbox claude

claude の部分は、使用するエージェントに置き換えてください。すべてのエージェントのリストについては、エージェント (英語) を参照してください。

初回実行時は、エージェントのイメージがプルされるため少し時間がかかります。2 回目以降はキャッシュされたイメージが再利用され、数秒で起動します。

現在実行中のサンドボックスはいつでも確認できます:

$ sbx ls
SANDBOX       AGENT    STATUS    PORTS   WORKSPACE
my-sandbox    claude   running           ~/my-project

また、引数なしで sbx を実行すると、インタラクティブなダッシュボードを開くことができます。ダッシュボードでは、サンドボックスのライブ ステータスが表示され、エージェントへのアタッチ、シェルの表示、ネットワーク ルールの管理を一箇所で行うことができます。詳細については、インタラクティブ モード (英語) を参照してください。

ステップ 5: クローン モードの使用

デフォルトでは、エージェントは作業ツリーを直接編集します。エージェントに隔離されたリポジトリのコピーを提供するには、--clone を使用します。--clone は作成時に指定するフラグであるため、まず既存のサンドボックスを削除します:

$ sbx rm my-sandbox
$ sbx run --clone --name my-sandbox claude

クローン モードでは、サンドボックスは microVM 内にプライベートな Git クローンを保持し、ホストのリポジトリを読み取り専用でマウントします。サンドボックスはホスト上でこのクローンを sandbox-<sandbox-name> リモートとして公開するため、他のリモートからフェッチするのと同じ方法でエージェントのコミットを確認できます:

$ git fetch sandbox-my-sandbox
$ git log sandbox-my-sandbox/main
$ git diff main..sandbox-my-sandbox/main

プル リクエストを作成する準備ができたら、次のように実行します:

$ git checkout -b my-feature sandbox-my-sandbox/main
$ git push -u origin my-feature
$ gh pr create

Claude Code の場合は、--cloneagents ビューと組み合わせることで、同じサンドボックス内のそれぞれ独自のブランチで作業するサブエージェントにタスクを割り当てることができます:

$ sbx run --clone --name my-sandbox claude -- agents

クローン モードは、同じリポジトリ上で複数のエージェントを並行して実行する場合に特に便利です。それぞれが独自の隔離されたクローン内で作業し、ホストの作業ツリーには影響を与えません。専用のブランチにエージェントをコミットさせる方法など、完全なワークフローについては、クローン モード (英語) を参照してください。

ステップ 6: ネットワーク アクセスの管理

ネットワーク ポリシーは、サンドボックスが到達できるネットワークを制御します。エージェントが API やサービスに接続できない場合、ポリシーによってブロックされている可能性が高いです。

どのルールが有効になっているかを確認します:

$ sbx policy ls

特定のホストを許可するには、次のように実行します:

$ sbx policy allow network -g registry.npmjs.org

Locked Down ポリシーの場合、明示的に許可しない限り、モデル プロバイダーの API であってもブロックされます。Balanced の場合、一般的な開発サービスはデフォルトで許可されます。全ルールのリストとカスタマイズ方法については、ポリシー (英語) を参照してください。

ステップ 7: クリーンアップ

サンドボックスは、エージェントが終了した後も存続します。サンドボックスを削除せずに停止するには、次のように実行します:

$ sbx stop my-sandbox

インストールされたパッケージ、Docker イメージ、および設定の変更は、再起動をまたいで保持されます。サンドボックスが不要になり、ディスク領域を解放する場合は、サンドボックスを削除します:

$ sbx rm my-sandbox

サンドボックスを削除すると、内部のすべてのもの(インストールされたパッケージ、Docker イメージ、およびクローン モードを使用していた場合はサンドボックス内の Git クローン)が削除されます。ホストの作業ツリー内のファイルには影響しません。

次のステップ

Agents
エージェントを確認する

Claude Code や Cursor などの AI コーディング エージェントを、Docker Sandboxes のセキュアな環境で活用してみませんか?各エージェントの認証や安全な実行手順について解説します。

利用可能なエージェントを確認する
Governance
ポリシーとガバナンス

AI エージェントの動作を組織全体で安全に管理しませんか?エンタープライズ環境のセキュリティ要件を満たすための、ネットワーク アクセスなどの制御ポリシーについて解説します。

組織ポリシーを確認する