10 分钟跑通 InvokeAI:从本地安装到容器化部署的实操路径
【免费下载链接】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 部署看起来不复杂:克隆仓库、装依赖、起服务。但实际操作里第一个卡人的地方是环境——Python 版本被锁在 3.12,torch 构建还要按 GPU 类型选,装错一步就会直接报错。所以与其空谈本地和容器哪个好,不如按三种真实场景给出具体路径:"只想跑起来"、"要隔离可复现"、"长期挂在生产上"。
第一次跑通:用 uv 走通本地部署 InvokeAI 的路径
系统要求里写得很明确:Python 锁定 3.12。好消息是官方手动安装文档用uv从头管理环境,uv 自带 Python 3.12,系统里装了什么版本都不用管。全程就四条命令:
git clone https://gitcode.com/GitHub_Trending/in/InvokeAI && cd InvokeAI克隆仓库并进入目录。
uv venv --relocatable --prompt invoke --python 3.12 --python-preference only-managed .venv这条命令在.venv下建一套独立的 Python 3.12 环境:
source .venv/bin/activate uv pip install . --torch-backend=cu130激活环境后把仓库作为包安装进去。--torch-backend=cu130表示拉取 CUDA 版 torch,NVIDIA 显卡才需要,没有 NVIDIA 显卡就省掉它;AMD 显卡要单独装 ROCm 的 wheel,别自己拼参数,按手动安装文档里的对照表走。装完启动服务:
invokeai-web --root ~/invokeai--root参数指定运行时目录,模型和生成图都放在这个路径下。浏览器打开http://localhost:9090,第一次先进 Model Manager 标签页下载一个模型再生成。
第一张图出出来,你就知道这条路适不适合自己。如果不想动系统环境,或者要在另一台机器上复现同样的环境,走容器更省心。
🐳 只想跑起来:容器化部署 InvokeAI 的最小命令集
Docker 部署相关的文件都在 docker/ 目录:Dockerfile 负责构建镜像,docker-compose.yml 定义服务,run.sh 是 compose 的包装脚本。只想跑起来的话不用碰这些文件,官方镜像一条命令就行:
docker run --runtime=nvidia --gpus=all --publish 9090:9090 --volume ~/invokeai:/invokeai ghcr.io/invoke-ai/invokeai这条命令拉取官方镜像并启动容器:--gpus=all把 GPU 透传给容器,9090:9090发布 WebUI 端口,--volume把本机~/invokeai挂到容器内/invokeai运行时目录。最后这项容易被漏掉,不加它的话图片和模型都留在容器里,容器一删就没了。

容器里的界面和本地完全一致,Canvas、workflows、Image Map 都能用。唯一前提是宿主机 Docker 已经配好 GPU,Docker 部署文档里列了完整前置条件。
真正长期用:把运行时目录与 GPU 配置变得可复现
长期挂着用的时候,一条命令会显得脆弱:每次想改参数都得重写整条命令。compose 做法是把配置写进.env文件:
cd docker && cp .env.sample .env && ./run.shrun.sh 会读.env并自动从docker-compose.yml里选对应服务,默认cudaprofile;填GPU_DRIVER=rocm就切到 AMD 服务,宿主机 render 组 ID 要同步填RENDER_GROUP_ID。
有两个变量值得留意:INVOKEAI_ROOT是运行时目录在宿主机的路径,默认~/invokeai;CONTAINER_UID设置容器内用户 UID,让它在宿主机目录里创建的文件归你的用户所有,填id -u的输出即可。模型缓存默认落在INVOKEAI_ROOT/.cache/huggingface,整目录备份时会一起带走。

长期用时区分多个项目的工作是最常见的需求,界面里自带项目切换器。需要多人共用一套服务的话,文档里有专门的多用户模式,账号隔离是内置的。
卡住的时候:GPU 识别、macOS 与 ARM 三个高频故障点
容器起来了但 GPU 识别不到,九成是宿主机 Docker 没配 GPU:NVIDIA 需要 daemon 注册nvidiaruntime,AMD 要透传/dev/kfd和/dev/dri并对齐 render 组 ID,排查入口看FAQ。
macOS 上别跟 Docker 较劲,容器在这套系统里访问不到 GPU,官方建议直接本地安装;坚持用容器至少给 Docker 分配 16GB 内存。
ARM 机器(树莓派 5、ARM 服务器之类)上,x86_64 镜像没有 GPU 内核,只能构建纯 CPU 镜像:
docker build -f docker/Dockerfile --build-arg GPU_DRIVER=cpu -t invokeai:cpu .GPU_DRIVER=cpu表示构建纯 CPU 版。本地生成速度不高,但 API 模型类功能(如 GPT Image)不依赖本地 GPU,照常可用。
还有一个细节:运行时目录里的文件在宿主机删不掉,通常是容器内用户 UID 和宿主机用户不一致,把CONTAINER_UID=$(id -u)设上再重启即可。
读完可以直接做的几件事:
- 快速验证就跑一条
docker run命令,确认流程没问题后再切到.env+run.sh的组合长期用 - 启动前先给
INVOKEAI_ROOT选定专用目录(最好是空间充裕的磁盘),模型和图片都在里面 - torch 安装报错时先查 GPU 型号再对照手动安装文档的选型表,多数"装不上"其实是参数选错
【免费下载链接】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),仅供参考