【トラブル解決】Stable Diffusion Web UI で「Connection errored out」→ Dockerが落ちる原因は?

Stable Diffusion Web UI(AUTOMATIC1111版)を Mac(M1/M2)+Docker環境で動かしていたところ、
画像生成ボタンを押すと「error: Connection errored out.」というトースト通知が出て、処理が失敗する現象に遭遇しました。

しかし、docker logsでは何もエラーが表示されません。

結果的に、原因は「Dockerコンテナがメモリ不足で強制終了されていた(ExitCode: 137)」というものでした。以下にその調査と対処法をまとめます。



現象

・Generate ボタンを押すと画面右下に
→ 「error: Connection errored out」
・画像は生成されない
・docker logs <コンテナ名> を見てもエラーは出ていない
・ただし docker ps を確認すると、コンテナが停止している

原因調査手順

1.停止したコンテナのIDを確認

2.終了コードを確認

出力例:

→ この ExitCode: 137 は、Linuxでのメモリ不足(Out Of Memory)による強制KILL を示します。

原因:モデルの読み込み時にメモリを使い切った

Stable Diffusionでは、起動時や画像生成時にモデル(.safetensors)を展開して大量のRAMを使用します。

特に AnythingXL_xl.safetensors のような XL系モデルは5〜7GB以上のメモリを要求するため、
Apple Silicon(共有メモリ型)の Mac + Docker 環境では落ちやすくなります。

対処法:軽量モデルへの差し替え

問題のある重いモデルの例
・AnythingXL_xl.safetensors
・RealisticVisionXL
・SDXLベースのカスタムモデル

安定する軽量モデルの例(2〜3GB程度)
・Anything v4.5
・MeinaMix v11
・Counterfeit v3.0

models/Stable-diffusion/ フォルダに1つだけ配置して起動することが必要です。

その他の対策

・Dockerのメモリ割り当てを増やす(Docker Desktop → Settings → Resources → Memory → 8GB以上推奨)
・画像サイズやStepsを軽めに設定(例:512×512、Steps: 20)
--no-half --precision full を使ってCPUメモリ使用に最適化

終わりに

「Dockerが勝手に落ちる=必ずしもログに出るとは限らない」というのは非常に重要な学びでした。
同じような現象に悩んでいる方の参考になれば幸いです。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

ITパスポート、基本情報技術者、応用情報技術者などIPAが提供する国家資格の過去問を学べるモバイルアプリをリリースしました。
詳しくは下記のプレスリリースをご覧ください。
https://prtimes.jp/main/html/rd/p/000000008.000073303.html

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






画像生成

Posted by ちこ