Docker ポート 18789 競合
'Bind for 0.0.0.0:18789 failed: port is already allocated'が表示される場合、Dockerはホストマシンのポート18789が既に別のプロセスに占有されていることを示しています。これによりOpenClawがゲートウェイポートをバインドできません。2分以内に修正できます:競合プロセスを特定して終了するか、OpenClawを別のホストポートに再マップするかです。どちらも再インストールは不要です。
🔍 エラーメッセージ
ポート18789はOpenClawのデフォルトゲートウェイポートです。このエラーは3つのシナリオで発生します:(1) 前のOpenClawインスタンスが正常にシャットダウンせず、ポートがゾンビプロセスに保持されている。(2) マシン上の別のアプリケーションがたまたまポート18789を使用している。(3) macOS/WindowsでDocker Desktopを再起動し、ポート解放が遅延している。下の診断コマンドを実行して、ポートを保持しているプロセスを正確に特定してください。
✅ ステップバイステップの修正
このコマンドを実行してポートを保持しているプロセスのPIDと名前を取得します。macOS/Linuxではプロセス名とPIDが直接表示されます。Windowsでは最後の列のPIDをメモし、'tasklist | findstr <PID>'でプロセス名を確認します。
ブロックしているプロセスが古いOpenClawインスタンスや安全に終了できるものであれば、ステップ1のPIDで終了し、OpenClawを新たに起動します。ゾンビプロセスからの競合であれば、これが最もクリーンな解決策です。
競合プロセスを終了できない場合(例:必要な別のアプリケーション)、OpenClawを空きポートに再マップします。マッピングの左側がホストポート(公開するもの)で、右側の18789はコンテナ内部ポート—そのままにします。APIクライアントやNginx設定も新しいホストポートに更新してください。