Stable Diffusion部署全指南:官方、整合包、Docker与ComfyUI实战
1. 部署方式选型官方部署、整合包、Docker到底怎么选先说结论这三种方式没有绝对的谁好谁坏它们对应的是完全不同的使用场景。我在本地反复折腾过三四种部署方案之后最大的体会就是——先想清楚自己要用多久、怎么用、要不要换机器再决定走哪条路比直接照着教程往下装重要得多。Stable Diffusion这个生态发展到现在核心的东西其实就两块一个是模型推理引擎也就是底层跑生成的那套东西另一个是前端操作界面。WebUI和ComfyUI都是界面层的工具它们调用的是同一套底层的PyTorch和扩散模型推理逻辑。这也是为什么很多教程里说“模型文件可以通用”SD 1.5、SDXL、SD3这些大模型文件放在哪个工具里都能用区别只是在操作逻辑和工作流的组织方式上。官方部署适合愿意折腾、想搞清楚运行逻辑的人。你能完整看到依赖关系、启动过程、日志输出出问题的时候好排查也方便自己改代码、写插件。但门槛确实高一点尤其是在Windows上环境问题能炸出一堆奇奇怪怪的报错。一键整合包适合大多数普通用户尤其是不想碰命令行的人。解压即用省去环境配置的繁琐过程。但缺点也很明显——你不知道里面装了什么也不知道它帮你改了什么配置一旦之后想升级某个组件很容易把整个环境弄坏。Docker容器化适合有部署需求、想保持环境干净、或者打算把SD服务以API形式提供给其他程序调用的人。隔离性好不会污染宿主机系统换机器的时候迁移也方便。但GPU直通和显存分配的问题在Windows上比较头疼做得好的都是Linux环境。结合2026年这个时间节点现在还有一个很值得注意的趋势ComfyUI Desktop版本已经非常成熟了它本身就是一个官方打包好的桌面应用大大降低了ComfyUI的上手门槛。我在后面的实操部分会专门讲到这个它跟WebUI走了完全不同的路线。2. 官方部署从零开始搭建Stable Diffusion WebUI2.1 环境准备Python版本和Git工具官方部署的第一步是准备环境。如果你以前在Windows上装过其他深度学习相关的工具大概率已经踩过Python环境混乱的坑了比如项目A需要Python 3.10项目B需要Python 3.11系统变量里只有一个python怎么改都会崩掉其中一个。我的建议是装一个Anaconda或者Miniconda它是环境管理的利器能用独立的虚拟环境隔离各个项目的依赖互不干扰。在Anaconda的终端里执行conda create -n sd-webui python3.10然后激活环境conda activate sd-webui这里有个选版本的细节需要注意。Stable Diffusion WebUI官方推荐的Python版本是3.10.x不是最新的3.12或者3.13。原因很简单PyTorch和一些底层库对最新Python版本的支持有一定的滞后周期3.10已被当前生态验证得最充分依赖冲突最少。如果你固执地装上3.12大概率会在pip install的时候碰到一堆依赖编译报错纯属给自己找不痛快。Git也是必备的。方便拉取项目代码和后续更新官方渠道下载Git for Windows一路next装完就行没难度。2.2 拉取项目并安装依赖环境准备好之后选择一个不包含中文字符和空格的路径来存放项目这很重要——很多人在启动时遇到诡异路径报错根源就是用户名带中文。打开命令行切到你要放项目的目录然后git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui进入项目目录后执行启动脚本。Windows下是webui-user.batLinux/macOS下是./webui.sh。这是整个安装过程中最需要耐心的一步。脚本会自动检测Python环境创建虚拟环境安装PyTorch、xformers、gradio等一系列依赖第一次运行可能要十几分钟甚至更久期间网络不稳定还会下载中断。脚本本身做了一些优化但如果网络条件确实太差你可以先手动配置好国内镜像源给pip换个源再跑。第一次启动成功后会弹出浏览器访问http://127.0.0.1:7860看到WebUI的界面就说明部署成功了。默认使用的是SD 1.5模型你需要自己去下载模型放入models/Stable-diffusion/目录再在界面左上角点击刷新按钮模型才会出现在下拉列表里。2.3 官方部署的进阶配置如果你用的是NVIDIA显卡建议在webui-user.bat里的COMMANDLINE_ARGS变量中加入一些参数来提升性能和稳定性。我常用的配置是这样set COMMANDLINE_ARGS--xformers --no-half-vae --autolaunch --theme dark各参数的作用说明一下--xformers启用xformers加速注意力计算在NVIDIA显卡上能明显提升生成速度并降低显存占用。前提是你需要安装好对应版本的xformers库。--no-half-vae部分显卡在用半精度方式加载VAE时会生成黑图或花屏禁用半精度可以解决这个问题。代价是增加一点显存占用。--autolaunch启动完成后自动打开浏览器省事。--theme dark默认使用深色主题夜间连续出图时眼睛舒服很多。还有一个很多人容易忽略的如果显存较小8GB以下启动时可以在启动参数中加入--medvram或--lowvram来降低显存占用模式代价是生成速度会略降。3. ComfyUI部署官方源码安装和Desktop版3.1 源码安装方式ComfyUI的源码安装方式和WebUI类似git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI python -m venv venv source venv/bin/activate # Windows下是 venv\Scripts\activate pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt安装完成后运行python main.py然后浏览器访问http://127.0.0.1:8188看到画布式界面就成功了。ComfyUI的最大特点就是基于节点的工作流——你不需要像WebUI那样填表单、点生成而是把各个功能模块用连线组织起来自由度极高模块之间的逻辑关系一目了然。用过的很多人都觉得它更像专业工具而WebUI更像傻瓜式相机。事实上Azalea开源官网上的Stable Diffusion相关图片除了注明用了LoRA的那几张其余绝大多数都是用ComfyUI跑的——他们IP设计的流程就是完整的ComfyUI工作流从出图到抠图到吊坠细化全串起来的。3.2 2026年的推荐ComfyUI Desktop版ComfyUI v0.35.0发布之后Desktop版本的使用体验已经到了一个非常成熟的程度。它本质上是一个官方打包的桌面应用内置了Python环境、依赖项、ComfyUI核心和ComfyUI Manager用户不需要手动配置Python也不需要跟命令行打交道装上就能用升级机制也做得相当顺滑。Desktop版还内置了模型管理功能可以直接在界面里下载Stable Diffusion系列模型并自动放入正确的目录。对新手来说这几乎消除了最大的障碍。但有一点你得清楚Desktop版在节点调试和工作流设计时其体验和源码版完全一致底层逻辑没有区别。它只是帮你把环境问题全部解决了省下的时间和精力非常多。所以我的建议很明确——除非你有二次开发需求否则2026年的今天ComfyUI直接装Desktop版就好。如果你是那种要自己写自定义节点的进阶用户源码版更合适因为它更方便调试代码、查看日志、管理依赖关系。不过Desktop版也支持把自定义节点插件放入ComfyUI/custom_nodes/目录区别只在于对环境的掌控度。3.3 秋叶一键整合包还有必要用吗秋叶整合包在这个圈子里几乎是无人不知的代名词。它的最大价值在于把WebUI和ComfyUI两个都打包好了内置了全套可直接用的模型、插件、常用配置下载之后解压即用还配套了中文界面和更新工具对国内用户非常友好连模型下载渠道都给你配好了。2026年的最新版本已经是v10了。以ComfyUI整合包为例它内部已经把环境优化到相当好的程度适配了一批常用插件、加入了中文化方案、预置了多种采样器参数方案连启动器都做成了图形界面可以一键切换不同模型目录、查看显卡运行状态、管理ControlNet插件等。但它的缺点也很明显第一整个包体积巨大下载耗时第二由于打包了全家桶整体更新相对滞后第三对于想深入了解SD运行机制的人来说这种黑盒做法不太利于学习和排查问题。我的观点是整合包适合完全没接触过命令行的小白快速入门但它不应该是终点。熟悉基本流程之后还是建议自己尝试部署一次理解了运行机制之后以后出问题也不慌毕竟是AI绘画这条路子上绕不开的基础功。4. Docker容器化部署从零开始搭建可用环境4.1 为什么选择Docker部署Docker部署这个事在AI绘画领域其实有点两极分化。有人觉得多此一举有人用惯了之后再也回不去了。我的判断是如果你只是想在自己的电脑上玩玩那完全没有必要用Docker。但有两类场景特别适合Docker第一类是服务化部署。你需要把SD/ComfyUI以后台服务的形式长期运行提供API接口供其他程序调用比如批量生成、图生图服务、或者接进自己的自动化流程。此时Docker的隔离性和稳定性会省去很多维护上的麻烦。第二类是环境一致性。你自己调试好的环境想在别的机器上复现或者团队协作时确保大家运行的环境完全一致Docker镜像就是最好的载体。主机换了无所谓镜像在环境就在。当然Docker部署也有一些不太方便的地方更新和调试不如本地直接改代码灵活数据卷和端口映射需要额外操心而且Windows环境下GPU直通比较麻烦需要额外配置WSL2。4.2 官方Docker镜像和使用docker-composeComfyUI官方提供了Docker镜像这是最省事的容器化方案。它的做法是借助PyTorch官方镜像把ComfyUI核心代码和依赖全部装好然后在宿主机上用docker run搭配参数启动。先说你必须准备的Dockerfile内容大概长这样FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04 ENV DEBIAN_FRONTENDnoninteractive RUN apt-get update apt-get install -y \ python3.10 python3.10-venv python3-pip git ffmpeg libsm6 libxext6 \ rm -rf /var/lib/apt/lists/* WORKDIR /app RUN git clone https://github.com/comfyanonymous/ComfyUI.git . RUN python3.10 -m venv venv \ ./venv/bin/pip install --upgrade pip \ ./venv/bin/pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 \ ./venv/bin/pip install -r requirements.txt EXPOSE 8188 CMD [./venv/bin/python, main.py, --listen, 0.0.0.0]构建镜像docker build -t comfyui:2026 .启动容器时最关键的两个操作一个是GPU直通另一个是把模型目录挂载出来。模型文件动辄几个GB到几十GB如果放在容器内部每次重新创建容器都要重新导入纯粹自找麻烦。正确做法是挂载数据卷把宿主机上的目录映射到容器的模型路径里docker run -d \ --name comfyui \ --gpus all \ -p 8188:8188 \ -v /绝对路径/ComfyUI/models:/app/models \ -v /绝对路径/ComfyUI/custom_nodes:/app/custom_nodes \ -v /绝对路径/ComfyUI/output:/app/output \ comfyui:2026这样模型、自定义节点、输出图片都存在宿主机上容器随便删了重建都不影响数据。后面改工作流、换插件都在宿主机目录操作非常灵活。4.3 更省事的方案用docker-compose管理如果怕记不住上面那串docker run参数推荐用docker-compose来管理。先创建目录里面放一个docker-compose.ymlversion: 3.8 services: comfyui: build: . container_name: comfyui restart: unless-stopped ports: - 8188:8188 volumes: - ./models:/app/models - ./custom_nodes:/app/custom_nodes - ./output:/app/output environment: - NVIDIA_VISIBLE_DEVICESall deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]然后在同一目录下启动docker compose up -d这个方案的好处是配置直观可版本化以后迁移到其他机器时只需要把整个目录复制过去再执行docker compose up -d就恢复了和原来完全一样的环境。对需要频繁调试、迭代部署的场景来说这比手动装环境省心太多了。但这里我特别提醒一句NVIDIA_CONTAINER_RUNTIME或NVIDIA_VISIBLE_DEVICES这样的环境变量和配置需要在宿主机上安装了NVIDIA Container Toolkit之后才生效。没装这个工具就去跑带--gpus参数的容器会直接报错提示找不到GPU设备。这也是很多新手第一次在Docker里跑SD失败的主要原因。5. 模型放置与核心配置一次讲透5.1 模型类型和目录结构配置稳定运行的基础除了代码本身之外就是模型文件的正确放置。很多人代码装好了但生成时报错或者效果很差多半是模型位置放错或者文件损坏。以WebUI为例核心的模型目录结构如下表所示类型路径说明大模型models/Stable-diffusion/放置SD 1.5、SDXL、SD3等主模型VAEmodels/VAE/变分自编码器影响成图色彩LoRAmodels/Lora/低秩适配模型风格迁移用嵌入models/embeddings/负向提示词模板用的嵌入向量ControlNetmodels/ControlNet/控制生成结构用的预处理模型超分放大models/ESRGAN/放成大图用的模型预设样式styles/存放自定义风格模板ComfyUI的模型目录结构主要是models/checkpoints/对应WebUI的Stable-diffusion、models/loras/、models/vae/、models/controlnet/命名更直白。因为两个工具底层兼容很多模型文件可以直接相互借用只是放到对应目录就行。对刚入门的新手我建议一开始不要贪多就下载一个SDXL系列的模型和一个写实风格的模型足够你跑通完整的生成流程了。等你对参数、采样器、提示词都有了感觉再去扩充模型库。5.2 采样器和步数怎么选很多新手拿到WebUI之后第一件事就是把步数拉到50、60步觉得步数越多越好。实际这是个误区。以2026年主流的采样器来看DPM 2M Karras配合20到30步或者Euler a配合20到40步已经能够生成很好的效果了。把步数顶到100以上除了浪费计算时间对画质的提升几乎可以忽略不计反而可能因为过度迭代在细节上出现奇怪纹理。这里涉及到一个原理扩散模型生成图像的本质是从噪声开始逐步去噪。步数决定了去噪过程的精细度但当步数超过一定阈值之后继续增加并不会让图像明显更清晰——因为模型在这个过程中已经收敛了。就像一个画家反复修改一幅画改到一定程度后再改就是在画蛇添足了。不同采样器各有特点DPM 2M Karras比较均衡适合大多数场景Euler a在相同步数下随机性稍高容易出惊喜但也容易出废图DDIM速度在二步到六步左右就能得到一个还过得去的结果适合快速预览构图。ComfyUI里可以通过工作流灵活切换采样器比WebUI方便很多。5.3 显存不足时的核心配置显存是跑生成式AI绕不开的大山。低配置设备仍然可以跑一些特别轻量级的AI应用但SD系列模型对显存的要求并不低。实际上只要掌握下面这几个核心参数8GB显存也能顺利出图生成分辨率控制在512x512或768x768不盲目追求高清批量大小设为1而不是一次生成4张或8张开启--medvram或--lowvram中等/低显存模式配合--xformers减少显存占用生成后再用图生图放大而不是直接生成高分辨率图如果是ComfyUI可以通过延迟加载模型和卸载机制来动态管理显存它的这个设计比WebUI优秀很多——某个模型用完就自动释放显存下一个模型再加载。这也解释了为什么同样配置的电脑跑ComfyUI比跑WebUI更不容易爆显存。在实际测试中ComfyUI在相同出图参数下峰值显存占用比WebUI低不少在低显存设备上体验差距很明显。6. 常见问题与排查技巧实录6.1 WebUI启动报错的几类典型问题问题一Torch not compiled with CUDA enabled这个报错几乎是所有新手都会遇到的。原因不是代码问题而是你安装的PyTorch版本是CPU版的没有安装GPU版本。解决方法是在虚拟环境里重新安装对应CUDA版本的PyTorch比如pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121安装完成之后在Python里执行import torch; print(torch.cuda.is_available())返回True就说明正常了。问题二在ultralytics或者bitsandbytes时报错多是因为你的显卡不支持某些特性的旧版本。以bitsandbytes为例如果版本不匹配会提示找不到动态链接库或者缺少某段编译代码。常用的解决方式是更新pip安装的相关包到最新版本或者直接卸载后重新安装。6.2 ComfyUI节点红色报错排查ComfyUI的报错形式与WebUI完全不同——它的节点会变成红色并在界面上显示错误信息。节点变红的原因通常有两类一类是缺少依赖的前置节点或模型文件另一类是节点本身代码报错。遇到红色节点第一步先看错误信息最后一行提到哪个文件缺失再去对应目录补上。如果是因为缺依赖导致的在Manager里选中对应节点执行Install Missing Custom Nodes会自动从GitHub拉取并安装。这一步对新手来说非常友好如果装了秋叶整合包Manager还会自动帮你检查插件兼容性和更新状态。6.3 Docker部署的坑Docker部署出问题九成集中在GPU直通和网络端口上。GPU直通的报错已经在前面说过NVIDIA Container Toolkit没装好是最常见的原因。还有一个坑是容器内解析不了下载地址导致自动安装插件失败这种时候需要在构建镜像时就配置好apt和pip的国内镜像源。另外注意Docker容器默认是UTC时区如果你要做定时批量生成输出文件的时间会和本地时间对不上。解决办法是在docker-compose.yml里给容器挂载时区设置比如设置TZAsia/Shanghai。6.4 出图结果异常的最快定位方法这个值得单独说。很多人模型装好了、程序也跑起来了但生成出来的图要么一片黑要么全是噪点要么色彩怪异于是开始怀疑电脑配置不行。其实这类问题九成以上的原因是模型文件损坏或在下载过程中没有下载完整。最快的定位方法很简单先切换一个官方原版模型跑一张256x256的图。如果原版模型输出正常说明你的自定义模型或LoRA有问题如果原版模型也输出异常那就要检查VAE的设置和采样器参数了。7. 我的最后几点心得从第一次跑通SD到今天我装了不下二十次环境各种方式都试过。说实话折腾部署这件事本身就是学习的一部分。官方部署让我理解了依赖关系和启动流程Docker让我学会了环境隔离和迁移部署整合包让我明白了什么叫做开箱即用的用户体验。这些经验最终都会反哺到你对Stable Diffusion原理的理解上。现在回想起最初踩过的那些坑——路径带中文、Python版本不对、CUDA没装、显存爆了——每一件当时困扰很久的事现在看来都简单得可笑。但正是这些解决过程让我对这套工具的底层逻辑有了更深的理解。如果你想长期玩SD我给你最实用的建议是三句话模型不要贪多用精几个就行报错先看英文原始信息不要到处问有空就研究下ComfyUI的工作流它代表了工具的未来方向。内容创作这条路上工具永远只是起点真正重要的是你的想法和审美。哪怕部署一万次也只是为了让你想画的东西能顺利画出来。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →