mmartial/ComfyUI-Nvidia-Docker
ComfyUI for NVIDIA GPU in a Docker container with user configurable uid/gid
解决的问题
本项目提供一个基于 Docker 的环境,用于运行 ComfyUI(Stable Diffusion WebUI),特别针对 NVIDIA GPU 进行优化。它通过将整个设置(包括 CUDA、CuDNN 和 Python 虚拟环境)封装在容器中,解决了复杂的手动安装、主机操作系统污染和依赖冲突问题。
如何工作
该项目使用官方 NVIDIA CUDA 容器作为基础。它将安装分为两个主要目录:run 文件夹(包含虚拟环境和 ComfyUI 源代码)和 basedir 文件夹(包含用户文件、模型和自定义节点)。这种架构允许独立管理环境,同时保留用户数据。它支持多种 Ubuntu 和 CUDA 版本组合,确保与不同 NVIDIA 硬件的兼容性,从较旧的 GTX 10xx 系列到最新的 Blackwell(RTX 50xx)GPU 均可支持。它还集成了 ComfyUI-Manager 以简化更新,并允许用户映射自己的 UID/GID,以在主机上保持正确的文件权限。
适用人群
希望使用 Docker 或 Podman 在 NVIDIA GPU 上运行 ComfyUI 的用户,包括通过 WSL2 使用 Windows、Linux 或 Unraid 的用户,偏好进程隔离和简化安装流程的人。
主要亮点
- 广泛的硬件支持:为不同 CUDA 版本提供专用容器标签,特别支持 RTX 50xx(Blackwell)和 GTX 10xx GPU。
- 权限管理:支持自定义 UID/GID 映射,确保容器用户与主机用户权限一致。
- 灵活的安装:可选支持
uv以实现更快的 Python 包安装,以及TORCH_LOCK以防止更新导致的破坏。 - 可定制性:支持运行自定义 bash 脚本(
user_script.bash)并通过环境变量传递额外命令行参数。 - 预构建镜像:DockerHub 上提供即用型镜像,包含 Unraid 兼容版本。
相关
- 项目
- 项目
- 项目
- 项目
- 项目