【トラブル解決】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を確認
1 |
docker ps -a |
2.終了コードを確認
1 |
docker inspect <コンテナID> | grep -i ExitCode |
出力例:
1 |
"ExitCode": 137, |
→ この 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が勝手に落ちる=必ずしもログに出るとは限らない」というのは非常に重要な学びでした。
同じような現象に悩んでいる方の参考になれば幸いです。
ディスカッション
コメント一覧
まだ、コメントがありません