☰
InvokeAI 本地运行 2 种方式:源码安装 vs Docker 容器化,怎么选
2026/10/16 2:07:45 网站建设 项目流程

InvokeAI 本地运行 2 种方式:源码安装 vs 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 是基于 Stable Diffusion 的图像生成引擎,装完在浏览器里出图。本文回答一个问题:从源码直接装,还是用 Docker 跑?适合想在自己机器上把 InvokeAI 跑起来的开发者。

先选路:两种方式怎么选

场景结论原因
macOS 用户优先本地装容器方案无法使用 Mac 的 GPU,文档明确不推荐
想改代码、跑 main 分支源码安装容器里不方便动代码
同一套环境要在多台机器/服务器间迁移Docker环境封装在镜像里,数据靠卷迁移
担心依赖污染现有 Python 环境Docker依赖全部隔离在容器内
机器上已有 Python 3.12 和uv,且只在这台机器用源码安装省掉镜像构建那几分钟

一句话建议:个人固定开发机直接源码装;要复用到别处的部署,走 Docker。

开工前的共同准备

两种路径都要先满足这几项,一次检查到位能省掉后面大量排错:

  • 系统:Linux 最省事;Windows 走 WSL2;macOS 仅限本地安装路径。
  • GPU(可选但强烈推荐):NVIDIA 需装好驱动;AMD 需要 ROCm 环境。纯 CPU 也能跑,但出图慢。
  • Python:本地方案要求 3.12,pyproject.toml里写死了>=3.12, <3.13,3.11 或 3.13 都不行。
  • 存储:模型动辄几个 GB,给运行目录~/invokeai预留几十 GB。
  • 网络:拉包和下载模型都要联网,首次启动耗时长主要耗在模型上。

方案 A:源码安装

先 clone 仓库到本地:

git clone https://gitcode.com/GitHub_Trending/in/InvokeAI cd InvokeAI

创建并激活虚拟环境。这里用uv代替 venv,它会顺带装好一个可移植的 Python 3.12,系统里装没装 Python 都行:

uv venv --relocatable --prompt invoke --python 3.12 --python-preference only-managed .venv source .venv/bin/activate # Linux/macOS;Windows 用 .venv\Scripts\activate

以可编辑模式把包装进环境,依赖全部由 pyproject 解析:

uv pip install -e . --python 3.12 --python-preference only-managed

说明两点:NVIDIA 30xx 及更新的卡直接装即可;16xx/20xx 老卡改装invokeai[xformers]。启动时如需指定 torch 后端,NVIDIA 传--torch-backend=cu130,无 GPU 的 x86_64 传--torch-backend=cpu。

最后启动服务,--root指向你的数据目录:

invokeai-web --root ~/invokeai

方案 B:Docker 容器化

容器路线分两档:图省事直接用官方镜像,要改配置再走 compose 构建。

单条命令拉官方镜像并挂上 GPU:

docker run --runtime=nvidia --gpus=all --publish 9090:9090 ghcr.io/invoke-ai/invokeai

加--volume /本地路径:/invokeai可以把模型和生成图持久化到宿主机。

compose 路线会构建镜像,多花几分钟,但能自定义。把INVOKEAI_ROOT(宿主数据目录)和GPU_DRIVER(cuda或rocm)写进.env,然后执行run.sh:

cd docker cp .env.sample .env ./run.sh

停容器用docker compose down——run.sh跟的是日志流,Ctrl+C 只退出日志不退出容器。

如何验证跑起来了

判断标准就三条,全中才算成功:

  1. 终端:启动日志走完模型扫描,出现 uvicorn 监听 9090 端口的信息,且没有未捕获的 traceback。
  2. 浏览器:打开http://localhost:9090,能看到登录/工作区界面。
  3. 功能:进 Model Manager 页下载一个基础模型,跑一次文生图,出图即通。

首次启动慢是正常的,时间都花在装模型和预热上。

常见问题

Q1:Docker 里 GPU 没被识别?宿主机上 Docker 必须能访问 GPU:NVIDIA 装 container toolkit 并用docker run --gpus all nvidia/cuda ... nvidia-smi验证,AMD 走 ROCm 的 Docker 配置。容器内nvidia-smi能看到卡,Invoke 才用得上。

Q2:本地方案报 Python 版本不匹配?3.12 是硬性区间。系统 Python 是 3.11 或 3.13 都没关系,uv venv命令里的--python 3.12会单独拉一个 3.12,不用动系统环境。

Q3:macOS 上容器方案为什么慢?macOS 的 Docker 跑在虚拟机里,拿不到 Metal GPU,官方文档直接建议改用本地安装。这不是网络问题,是架构限制。

Q4:9090 端口被别的程序占了?本地方案改启动参数即可;Docker 方案在.env里设INVOKEAI_PORT,容器内外端口由 compose 的 ports 映射统一处理。

附录:参数速查与常用路径

项目值 / 说明
Web 端口9090
Python 版本3.12(>=3.12, <3.13)
数据目录~/invokeai(INVOKEAI_ROOT控制)
GPU_DRIVERcuda/rocm,仅 Docker.env使用
INVOKEAI_PORT改 Web 端口
CONTAINER_UID宿主机用户 UID,解决卷内文件权限
torch 后端NVIDIA 用cu130,无卡 x86_64 用cpu
容器停止docker compose down

更多细节看仓库文档:安装指南、手动安装、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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询