You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker内Stable Diffusion WebUI服务无法从宿主机访问求助

Stable Diffusion WebUI Docker容器宿主机无法访问排查

问题现象

基于stable-diffusion-webui构建Docker镜像后,容器启动后宿主机无法访问内部Web服务器,但容器内服务运行正常:

容器内验证服务正常

$ docker exec -it d29e04e6ca24 bash
---Inside Docker---
root@d29e04e6ca24:/sd# curl -sS -D - localhost:7860 -o /dev/null
HTTP/1.1 200 OK
date: Wed, 05 Jul 2023 23:49:47 GMT
server: uvicorn
content-length: 671907
content-type: text/html; charset=utf-8

宿主机访问失败

$ docker container port d29e04e6ca24
7860/tcp -> 0.0.0.0:7860
7860/tcp -> [::]:7860

$ curl -sS -D - localhost:7860 -o /dev/null
curl: (56) Recv failure: Connection reset by peer

排查方案

  • 修正Web服务绑定地址:stable-diffusion-webui默认仅绑定127.0.0.1,容器内可访问但宿主机无法穿透。修改启动命令,添加--listen参数(自动绑定0.0.0.0),或明确指定--host 0.0.0.0。例如Dockerfile中的启动命令改为:
    python launch.py --port 7860 --listen
    
  • 检查宿主机端口监听状态:执行netstat -tulpn | grep 7860或ss -tulpn | grep 7860,确认宿主机7860端口是否处于监听状态。若未监听,需排查Docker端口映射配置是否正确。
  • 放行宿主机防火墙端口:确保宿主机防火墙允许7860端口入站连接。以Linux为例:
    • 使用ufw:ufw allow 7860/tcp
    • 使用firewalld:firewall-cmd --add-port=7860/tcp --permanent && firewall-cmd --reload
  • 查看容器启动日志:执行docker logs d29e04e6ca24,检查Web服务启动日志,确认是否有类似Uvicorn running on http://127.0.0.1:7860的输出,若有则说明绑定地址错误,需调整启动参数。

内容的提问来源于stack exchange,提问作者Winston

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 08:35:27