Docker(任意)
Dockerは任意です。コンテナ化されたgatewayを使いたい場合、またはDockerフローを検証したい場合にのみ使用してください。Dockerは自分に合っているか?
- Yes: 分離された使い捨てのgateway環境が欲しい、またはローカルインストールなしでホスト上でOpenClawを実行したい。
- No: 自分のマシンで実行していて、最速の開発ループだけが欲しい。代わりに通常のインストールフローを使用してください。
- サンドボックス化に関する注記: エージェントサンドボックス化でもDockerを使いますが、gateway全体をDockerで実行する必要はありません。サンドボックス化 を参照してください。
前提条件
- Docker Desktop(または Docker Engine)+ Docker Compose v2
- イメージビルド用に少なくとも2 GB RAM(1 GBホストでは
pnpm installが exit 137 でOOM killされることがあります) - イメージとログに十分なディスク容量
- VPS/公開ホスト上で実行する場合は、
ネットワーク公開のためのセキュリティハードニング、
特にDockerの
DOCKER-USERファイアウォールポリシーを確認してください。
コンテナ化されたGateway
イメージをビルドする
リポジトリルートから、セットアップスクリプトを実行します:これによりgatewayイメージがローカルでビルドされます。代わりにビルド済みイメージを使うには:ビルド済みイメージは
GitHub Container Registry
で公開されています。
一般的なタグ:
main、latest、<version>(例: 2026.2.26)。オンボーディングを完了する
セットアップスクリプトは自動的にオンボーディングを実行します。これにより次のことが行われます:
- プロバイダーAPIキーの入力を求める
- gatewayトークンを生成して
.envに書き込む - Docker Compose経由でgatewayを起動する
openclaw-gateway を直接通じて実行されます。openclaw-cli は、
gatewayコンテナがすでに存在した後に実行するコマンド用です。コントロールUIを開く
ブラウザーで
http://127.0.0.1:18789/ を開き、設定済みの
shared secretをSettingsに貼り付けます。セットアップスクリプトはデフォルトで
.env にトークンを書き込みます。コンテナ設定をpassword認証に切り替えた場合は、
代わりにそのpasswordを使ってください。URLをもう一度確認したいですか?手動フロー
セットアップスクリプトを使わずに各手順を自分で実行したい場合:docker compose はリポジトリルートから実行してください。OPENCLAW_EXTRA_MOUNTS
または OPENCLAW_HOME_VOLUME を有効にした場合、セットアップスクリプトは docker-compose.extra.yml
を書き出します。-f docker-compose.yml -f docker-compose.extra.yml でそれを含めてください。openclaw-cli は openclaw-gateway のネットワーク名前空間を共有するため、
起動後ツールです。docker compose up -d openclaw-gateway の前は、オンボーディング
とセットアップ時の設定書き込みを openclaw-gateway 経由で
--no-deps --entrypoint node を使って実行してください。環境変数
セットアップスクリプトは次の任意の環境変数を受け付けます:| Variable | Purpose |
|---|---|
OPENCLAW_IMAGE | ローカルビルドの代わりにリモートイメージを使う |
OPENCLAW_DOCKER_APT_PACKAGES | ビルド時に追加のaptパッケージをインストールする(スペース区切り) |
OPENCLAW_EXTENSIONS | ビルド時に拡張機能依存関係を事前インストールする(スペース区切りの名前) |
OPENCLAW_EXTRA_MOUNTS | 追加のホストbind mount(カンマ区切りの source:target[:opts]) |
OPENCLAW_HOME_VOLUME | /home/node を名前付きDocker volumeに永続化する |
OPENCLAW_SANDBOX | サンドボックスブートストラップにopt-inする(1、true、yes、on) |
OPENCLAW_DOCKER_SOCKET | Docker socketパスを上書きする |
ヘルスチェック
コンテナのプローブエンドポイント(認証不要):/healthz をpingする組み込みの HEALTHCHECK が含まれています。
チェックが継続して失敗すると、Dockerはコンテナを unhealthy とマークし、
オーケストレーションシステムはそれを再起動または置換できます。
認証付きの詳細ヘルススナップショット:
LAN と loopback
scripts/docker/setup.sh は OPENCLAW_GATEWAY_BIND=lan をデフォルトにするため、
Dockerのポート公開とともにホストから http://127.0.0.1:18789 へアクセスできます。
lan(デフォルト): ホストブラウザーとホストCLIが公開されたgatewayポートに到達できます。loopback: コンテナのネットワーク名前空間内のプロセスだけが gatewayに直接到達できます。
bindモードの値には、
0.0.0.0 や 127.0.0.1 のようなホストエイリアスではなく、gateway.bind の値(lan / loopback / custom /
tailnet / auto)を使ってください。ストレージと永続化
Docker ComposeはOPENCLAW_CONFIG_DIR を /home/node/.openclaw に、
OPENCLAW_WORKSPACE_DIR を /home/node/.openclaw/workspace にbind mountするため、
これらのパスはコンテナ置換後も保持されます。
そのmountされた設定ディレクトリには、OpenClawが次を保存します:
- 動作設定用の
openclaw.json - 保存されたプロバイダーOAuth/APIキー認証用の
agents/<agentId>/agent/auth-profiles.json OPENCLAW_GATEWAY_TOKENのようなenvベースのランタイムシークレット用の.env
media/、セッションJSONLファイル、cron/runs/*.jsonl、
および /tmp/openclaw/ 配下のローテーションファイルログに注意してください。
シェルヘルパー(任意)
日常的なDocker管理を簡単にするには、ClawDock をインストールします:
scripts/shell-helpers/clawdock-helpers.sh のrawパスからClawDockをインストールしていた場合は、上のインストールコマンドを再実行して、ローカルのヘルパーファイルが新しい場所を追跡するようにしてください。
その後、clawdock-start、clawdock-stop、clawdock-dashboard などを使います。すべてのコマンドを確認するには
clawdock-help を実行してください。
完全なヘルパーガイドは ClawDock を参照してください。
Docker gatewayでエージェントサンドボックスを有効にする
Docker gatewayでエージェントサンドボックスを有効にする
docker.sock をmountします。
サンドボックスセットアップを完了できない場合、スクリプトは agents.defaults.sandbox.mode
を off に戻します。自動化 / CI(非対話式)
自動化 / CI(非対話式)
Composeの疑似TTY割り当てを
-T で無効にします:共有ネットワークのセキュリティ注記
共有ネットワークのセキュリティ注記
openclaw-cli は network_mode: "service:openclaw-gateway" を使うため、
CLIコマンドが 127.0.0.1 経由でgatewayに到達できます。これを共有の
信頼境界として扱ってください。compose設定では NET_RAW/NET_ADMIN を削除し、
openclaw-cli で no-new-privileges を有効化しています。権限とEACCES
権限とEACCES
イメージは
node(uid 1000)として実行されます。/home/node/.openclaw で
権限エラーが出る場合は、ホストのbind mountが uid 1000 に所有されていることを確認してください:より高速なrebuild
より高速なrebuild
依存関係レイヤーがキャッシュされるようにDockerfileを並べてください。これにより、
lockfileが変わらない限り
pnpm install の再実行を避けられます:上級者向けコンテナオプション
上級者向けコンテナオプション
デフォルトイメージはセキュリティ優先で、非rootの
node として実行されます。より
高機能なコンテナにするには:/home/nodeを永続化:export OPENCLAW_HOME_VOLUME="openclaw_home"- システム依存関係を焼き込む:
export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq" - Playwrightブラウザーをインストール:
- ブラウザーダウンロードを永続化:
PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwrightを設定し、OPENCLAW_HOME_VOLUMEまたはOPENCLAW_EXTRA_MOUNTSを使います。
OpenAI Codex OAuth(ヘッドレスDocker)
OpenAI Codex OAuth(ヘッドレスDocker)
ウィザードでOpenAI Codex OAuthを選ぶと、ブラウザーURLが開きます。Dockerまたはヘッドレス環境では、遷移先の完全なリダイレクトURLをコピーして、認証を完了するためにウィザードへ貼り戻してください。
ベースイメージメタデータ
ベースイメージメタデータ
メインDockerイメージは
node:24-bookworm を使用し、
org.opencontainers.image.base.name、
org.opencontainers.image.source などを含むOCI base-image
annotationを公開します。詳細は
OCI image annotations
を参照してください。VPSで実行する場合
共有VMデプロイ手順(バイナリの焼き込み、永続化、更新を含む)については、 Hetzner (Docker VPS) および Docker VM Runtime を参照してください。エージェントサンドボックス
agents.defaults.sandbox が有効な場合、gateway自体はホスト上に残ったまま、
gatewayはエージェントのツール実行
(シェル、ファイル読み書きなど)を分離されたDockerコンテナ内で実行します。これにより、gateway全体をコンテナ化せずに、信頼できない、または
マルチテナントなエージェントセッションの周囲に強い隔離を設けられます。
サンドボックススコープは、agent単位(デフォルト)、session単位、または共有にできます。各スコープには /workspace にmountされた独自のワークスペースがあります。allow/denyツールポリシー、ネットワーク分離、リソース制限、ブラウザーコンテナも設定できます。
完全な設定、イメージ、セキュリティ注記、およびマルチエージェントプロファイルについては、次を参照してください:
- サンドボックス化 — 完全なサンドボックスリファレンス
- OpenShell — サンドボックスコンテナへの対話型シェルアクセス
- Multi-Agent Sandbox and Tools — agentごとの上書き
クイック有効化
トラブルシューティング
イメージがない、またはサンドボックスコンテナが起動しない
イメージがない、またはサンドボックスコンテナが起動しない
scripts/sandbox-setup.sh
でサンドボックスイメージをビルドするか、agents.defaults.sandbox.docker.image を独自イメージに設定してください。
コンテナはセッションごとに必要時に自動作成されます。サンドボックス内の権限エラー
サンドボックス内の権限エラー
docker.user をmountされたワークスペース所有権に一致する UID:GID に設定するか、
ワークスペースフォルダーを chown してください。サンドボックス内でカスタムツールが見つからない
サンドボックス内でカスタムツールが見つからない
OpenClawは
sh -lc(login shell)でコマンドを実行するため、
/etc/profile を読み込み、PATHがリセットされることがあります。docker.env.PATH を設定して
カスタムツールパスを先頭に追加するか、Dockerfile内の /etc/profile.d/ にスクリプトを追加してください。イメージビルド中にOOM killされる(exit 137)
イメージビルド中にOOM killされる(exit 137)
VMには少なくとも2 GB RAMが必要です。より大きいマシンクラスを使って再試行してください。
コントロールUIでUnauthorizedまたはpairing requiredと表示される
コントロールUIでUnauthorizedまたはpairing requiredと表示される
Gateway target に ws://172.x.x.x が表示される、または Docker CLIからpairingエラーが出る
Gateway target に ws://172.x.x.x が表示される、または Docker CLIからpairingエラーが出る
gatewayモードとbindをリセットしてください:
関連
- Install Overview — すべてのインストール方法
- Podman — Dockerの代替としてのPodman
- ClawDock — Docker Composeのコミュニティセットアップ
- Updating — OpenClawを最新に保つ方法
- Configuration — インストール後のgateway設定