InvokeAI 部署避坑指南:本地安装与 Docker 三个问题选对方案
【免费下载链接】InvokeAIInvoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.项目地址: https://gitcode.com/GitHub_Trending/in/InvokeAI
InvokeAI 是带 WebUI 的 Stable Diffusion 生成引擎,支持 SDXL、FLUX.1、Z-Image 等模型族。做 InvokeAI 部署时最常见的纠结是:本地装还是跑 Docker?先给结论:Linux 配 Nvidia 显卡选 Docker,Mac 选本地 Launcher,其余全是坑的细节。
🎯 30 秒定位你的路线:先问自己三个问题
问题一:你的操作系统是什么?
- Mac:选本地 Launcher。Mac 上的 Docker 用不了 GPU,官方文档原话是"能跑,但非常慢",生成基本等于纯 CPU 硬算。
- Windows:两条路都通。Docker 想用 GPU 必须走 WSL2;嫌折腾就直接本地 Launcher。
- Linux:Docker 最干净。官方镜像自带 CUDA 环境,你不用自己管 Python、torch 和驱动版本搭配。
问题二:你是体验一下,还是长期用?
只是先看效果 →docker run一条命令加一个挂载卷,5 分钟能删能重建。长期跑、频繁升级 → Linux 用 compose 加.env,Windows/Mac 用 Launcher,所有变更都落在配置文件里,不用重装。
问题三:你的显卡是老卡吗?
GTX 9xx/10xx 这类老卡,或者你想指定 torch 后端(比如--torch-backend=cu126)→ 直接走手动安装。Docker 镜像只有官方最新构建,照顾不了老卡。
如果你三个问题的答案是"Linux + 新卡 + 想先看效果",直接进下一章,5 分钟收尾。
🚀 两个场景两条路:从命令到界面
快速体验:Docker 5 分钟跑通 Web 页面
唯一前提:终端里nvidia-smi能正常打印显卡和驱动版本(Nvidia 驱动需 R580 及以上)。打不出来就先修驱动,否则 Invoke 会回退到 CPU 启动并在日志里报错。
这一步在做什么:验证显卡和驱动对系统可见。
nvidia-smi为什么这么做:Docker 不会替你配置 GPU 直通,宿主机不认识卡,容器里更不可能认识。
确认无误后直接起容器,镜像里已内置 CUDA 13 和全部依赖:
这一步在做什么:拉取官方镜像并后台启动,开放 9090 端口,把本机~/invokeai映射为容器内的运行数据目录。
docker run -d --name invokeai --runtime=nvidia --gpus=all \ --volume ~/invokeai:/invokeai -p 9090:9090 \ ghcr.io/invoke-ai/invokeai为什么这么做:少了--volume挂载,生成的图片和下载的模型会随容器销毁而清空,这是全流程最容易漏的一步。首次拉镜像需要几分钟,之后打开http://localhost:9090,在 Model Manager 里装一个 SDXL 基础模型就能开始生成。Windows/Mac 的朋友别抄这条命令,直接看下一节,那才是你的正路。
长期使用:compose 或 Launcher 锁定环境
这个场景的关键词是"数据比进程活得久":模型目录、端口、GPU 驱动都要落在配置里,升级迁移才是一句话的事。
Linux / Windows (WSL2)用源码构建 + compose 管理:
这一步在做什么:克隆仓库,把示例配置复制成.env,再用官方脚本构建并启动容器。
git clone https://gitcode.com/GitHub_Trending/in/InvokeAI cd InvokeAI/docker cp .env.sample .env ./run.sh为什么这么做:.env是唯一需要改配置的地方,INVOKEAI_ROOT控制数据目录(默认~/invokeai),端口、GPU 驱动(GPU_DRIVER)都在这里;后续升级只需拉新镜像重启,数据和模型原封不动。
Windows / Mac不用碰命令行,直接用官方 Invoke Launcher:它一个 GUI 搞定环境安装、模型下载和一键升级,且是 Mac 上的唯一推荐路径。
无论哪条路,只要数据目录固定,"Docker 转本地"或反向迁移都不用重下模型——官方文档明确 4.0 之后的运行时目录通常可跨安装复用。
📊 两种方案真正影响体验的三个差异
一、GPU 直通是 Docker 唯一的"硬门槛"。镜像不带驱动,依赖宿主机配好 nvidia-container-toolkit;没配好的容器只能用 CPU 跑,速度差一个数量级,但界面一切正常——这是最容易被忽略的差异。Mac 上的 Docker 干脆完全没有 GPU 可用,直接出局。
二、模型数据放哪不同,但互相兼容。本地安装的数据都在你看得见摸得着的目录里;Docker 默认在挂载卷(~/invokeai)下,HuggingFace 模型缓存在独立的HF_HOME目录。两者可以共享同一个数据目录,从 Docker 换到本地(或反过来)不需要重新下载几十 GB 的模型。
三、Docker 只有最新构建,手动安装能挑 torch 后端。官方镜像 = 最新 PyTorch + CUDA 13;老卡(GTX 9xx/10xx)或需要指定 ROCm 版本的 AMD 用户,只能uv建虚拟环境后手动pip install invokeai挑后端,代价是你得自己管 Python 3.12 环境。
结论很实际:新卡用户的差异只是"多不多配一个 toolkit",老卡用户的差异是"少一条路可走"。
⚠️ 三个高频坑,一次讲清
坑一:容器起不来,或生成慢得像 CPU
- 现象:
docker run报 nvidia runtime 不可用;或者能启动,但一张图要等几分钟。 - 原因:没装 nvidia-container-toolkit 或没设成默认 runtime;或者宿主机驱动低于 R580。
- 解法:按官方文档装好 toolkit,进容器验证能看到 GPU;驱动问题先升驱动。启动日志里如果出现回退 CPU 的提示,就是驱动或显卡不支持。
坑二:生成时 Out of Memory
- 现象:首图或放大尺寸时直接崩溃。
- 原因:模型大于显存。SDXL 最低 8GB 显存,FLUX.1 最低 10GB,显存越紧张越容易触发。
- 解法:按 Low VRAM 模式 调整配置,或显式设置
max_cache_vram_gb上限。Windows 用户还可以把 NVIDIA 控制面板里的 "CUDA - System Fallback Policy" 改为 "Prefer No System Fallback",避免显存不足时悄悄回退到 CPU 内存,越跑越慢。
坑三:容器重启后图片全没了
- 现象:
docker compose down再启动,昨天的图和模型都不见了。 - 原因:没挂卷,数据写在了容器层里。
- 解法:补上
--volume ~/invokeai:/invokeai,或在.env里设INVOKEAI_ROOT;指回旧目录还能继承老数据。
三个坑里两个是"没配"、一个是"没挂",对着检查一遍就能过。
📌 我的选择和三步最小路径
我的选择:Linux + Nvidia 选 Docker,Mac 选 Launcher,老卡和开发者选手动安装。不和稀泥——Docker 一次性解决最常见环境,Launcher 在 Mac 上体验最顺,手动安装是特殊硬件唯一的路。
如果你现在就想动手,三步最小路径:
- 跑一遍
nvidia-smi,确认显卡和驱动就绪(R580 以上); - 执行
docker run -d --gpus=all --volume ~/invokeai:/invokeai -p 9090:9090 ghcr.io/invoke-ai/invokeai; - 打开
http://localhost:9090,在 Model Manager 装一个模型,生成第一张图。
更完整的流程见仓库内的安装文档和硬件要求。
【免费下载链接】InvokeAIInvoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.项目地址: https://gitcode.com/GitHub_Trending/in/InvokeAI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考