OllamaのDockerコンテナ内でOpenClawを実行し、ネットワークを簡素化する

あるr/openclawユーザーが、OpenClawをOllamaと同じDockerコンテナ内に配置するセットアップを共有しました。これにより、host.docker.internalやコンテナホスト名が不要になります。アプローチは簡単で、公式のollama/ollamaイメージをベースに、その中にOpenClawをインストールし、OpenClawが127.0.0.1:11434でOllamaと通信するようにします。これにより、一般的なネットワークの摩擦を回避できますが、RAM使用量が増加します。
主なセットアップ手順
GPUサポート、永続的なモデルストレージ、ポート11434と18789(OpenClawのゲートウェイ用)を使用してコンテナを起動します。
docker run -d \
--name ollamaopenclaw \
--gpus=all \
-v ollama_docker:/root/.ollama \
-p 11434:11434 \
-p 18789:18789 \
ollama/ollama
ポートをlocalhostのみにバインドする場合:
docker run -d \
--name ollamaopenclaw \
--gpus=all \
-v ollama_docker:/root/.ollama \
-p 127.0.0.1:11434:11434 \
-p 127.0.0.1:18789:18789 \
ollama/ollama
コンテナ内でシェルを開き、OpenClawをインストールします。
docker exec -it ollamaopenclaw sh
apt-get update && apt-get install -y curl git bash ca-certificates
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
export PATH="$HOME/.openclaw/bin:$PATH"
openclaw --version
モデルをプルします(小規模なQwenバリアントでテスト済み)。
ollama pull qwen3.5:0.8b
ollama pull qwen3.5:2b
ollama pull qwen3.5:4b
ollama list
OpenClawのゲートウェイを設定します。
export OLLAMA_API_KEY="ollama-local"
openclaw config set gateway.bind lan
openclaw config set gateway.port 18789
openclaw config set gateway.controlUi.allowedOrigins '["http://localhost:18789","http://127.0.0.1:18789"]' --strict-json
ゲートウェイを起動します(ターミナルは開いたままにします)。
openclaw gateway run --bind lan --port 18789 --allow-unconfigured
別のターミナルで、再度コンテナに入り、OpenClawを実行します。
docker exec -it ollamaopenclaw sh
export PATH="$HOME/.openclaw/bin:$PATH"
export OLLAMA_API_KEY="ollama-local"
# その後、openclawコマンドを実行
結果とトレードオフ
このセットアップは機能します。OpenClawはOllamaに127.0.0.1:11434を使用し、追加のネットワーク設定は不要です。ポートとストレージは分離されたままです。ただし、RAM使用量が多く、大きなプロンプトは小さなローカルモデル(0.8B~4Bでテスト)を圧倒します。ユーザーは、これは軽量なソリューションではないが、コンテナ分離の観点からはよりクリーンだと指摘しています。
対象ユーザー
ホストネットワーキングやhost.docker.internalの煩わしさを避けるために、OpenClawとOllamaを単一のDockerコンテナ内で実行したい開発者。特にローカルまたはCI向けのLLMツールチェーンに適しています。
📖 ソース全文を読む: r/openclaw
👀 See Also

Redditユーザーが共有する、Claude Codeプロンプティングのよくある間違いとその修正方法
Node.jsのバックエンド作業でClaudeを使用している開発者が、数か月の使用を経て、検証要件の欠落やClaudeをワンショットツールとして扱うなど、10のよくあるプロンプティングの間違いを特定しました。彼らは各問題に対する修正を含むビジュアルガイドを作成しました。

Claude Code: プロンプトエンジニアリングよりもコンテキスト管理
開発者がClaude Codeを1年間使用した結果、重要なスキルはプロンプトの言い回しやモデルの選択ではなく、より良い結果を得るために事前に包括的なプロジェクトのコンテキストを提供することだと共有しています。

Claude AgentがTenor GIFを使用してDiscord経由でミームを送信 — 完全なプロトコル
Claudeコードエージェントのセットアップにより、すべてのDiscordトランスポートメッセージに、文脈に応じた絵文字リアクション、一言ステータスメッセージ、検証済みのTenor GIF URLが追加され、無効なリンクを避けるために明示的なウェブ検索とフェッチの手順が含まれています。
cronタイムアウトはOpenClawのアクションが失敗したことを証明するものではない
cronジョブがメッセージ送信やコンテンツ公開後にタイムアウトした場合、OpenClawは実行がエラーになったことはわかりますが、プロバイダーがアクションを受け入れたかどうかはわかりません。あいまいなタイムアウトは失敗ではなく「不明」として扱ってください。