Pixelle-Video 的 Docker 部署如何配置 ComfyUI 连接地址访问宿主机服务?
【免费下载链接】Pixelle-Video🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video
如果你用 Docker Compose 部署了 Pixelle-Video,而图像/视频生成所依赖的 ComfyUI 是跑在宿主机(容器外面)上的,那么默认配置里的http://127.0.0.1:8188会指向容器内部而不是宿主机,连接自然不通。这篇文章解决的就是这个问题:把config.yaml中的comfyui_url改成容器能访问到宿主机的地址,让 Docker 部署的 Pixelle-Video 正确连上宿主机上的 ComfyUI 服务。
适用前提:
- 宿主机已安装 Docker 和 Docker Compose;
- 宿主机上已安装并启动 ComfyUI,默认运行在
http://127.0.0.1:8188; - 你选择的是本地 ComfyUI(selfhost 工作流)方案,而不是 RunningHub 云端工作流。
准备工作:在宿主机上启动 ComfyUI
ComfyUI 不需要跑在容器里。按照 安装文档,在宿主机上克隆仓库、安装依赖后启动:
# 克隆 ComfyUI git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 安装依赖 pip install -r requirements.txt # 启动 ComfyUI python main.pyComfyUI 默认运行在http://127.0.0.1:8188。注意 ComfyUI 还需要下载对应的模型文件才能工作,这部分要按 ComfyUI 自身的文档完成,Pixelle-Video 的文档中没有代管这部分流程。
启动后先做一步确认:在宿主机自己的浏览器里访问http://127.0.0.1:8188,能打开 ComfyUI 界面才说明宿主机服务本身可用。这一步也是后面排错时文档给出的检查手段。
启动 Docker 部署
进入项目根目录(包含 docker-compose.yml 和 config.example.yaml 的目录),可以直接运行项目提供的启动脚本:
bash docker-start.sh启动脚本会依次完成:
- 检查
config.yaml:如果不存在,从config.example.yaml复制生成;如果它被错误地创建成了目录(Docker 挂载问题),会先删除再重建; - 检查 Docker Compose 是否可用,不可用则报错退出;
- 执行
docker compose build构建镜像; - 执行
docker compose up -d启动服务。
docker-compose.yml 里还包含一个init服务,同样负责在config.yaml缺失时从config.example.yaml创建,防止"挂载一个不存在的文件时 Docker 会把它创建成目录"的问题。
启动成功后脚本会提示以下地址:
- Web UI:
http://localhost:8501 - API:
http://localhost:8000 - API 文档:
http://localhost:8000/docs
注意:如果启动过程中执行了脚本里的目录清理(删除被误建的config.yaml目录),说明之前容器挂载出过错,重建后需要重新填写配置。
修改 comfyui_url 指向宿主机
config.yaml挂载在容器的/app/config.yaml上,config.yaml在项目根目录,直接编辑宿主机上的文件即可。
config.example.yaml 中comfyui段的默认值是:
comfyui: comfyui_url: http://127.0.0.1:8188 # ComfyUI server URL (required for selfhost workflows) comfyui_api_key: "" # Note for Docker users: Use host.docker.internal:8188 (Mac/Windows) or host IP address (Linux)问题就出在默认值:容器内的127.0.0.1指向容器自身,而 ComfyUI 在宿主机上。按配置文件注释给出的说明修改:
Mac / Windows 宿主机:
comfyui: comfyui_url: http://host.docker.internal:8188启动脚本生成
config.yaml时的提示也明确写着 "use host.docker.internal:8188 for local Mac/Windows"。Linux 宿主机:
host.docker.internal不适用,改用宿主机的 IP 地址,例如(以你的实际 IP 为准):comfyui: comfyui_url: http://192.168.x.x:8188
两个注意点:
comfyui_url只在 selfhost 工作流下是必需的(配置注释标注为 "required for selfhost workflows")。config.example.yaml里image和video的default_workflow默认值都是 RunningHub 云端工作流(runninghub/image_flux.json、runninghub/video_wan2.1_fusionx.json),如果你要走本地 ComfyUI,需要把它们改成对应的selfhost/...工作流,否则连接地址改了也不会被使用。comfyui_api_key是可选配置;不填就留空字符串。
修改完成后重启服务,让容器读到新配置(启动脚本输出的常用命令里就包含这条):
docker-compose restart如果你用的是docker compose(v2)插件而不是独立的docker-compose,对应换成docker compose restart。
验证连接是否生效
按从内到外的顺序验证,文档中对应的检查方式如下:
- 确认宿主机 ComfyUI 在运行:在宿主机浏览器访问
http://127.0.0.1:8188(故障排查文档中"ComfyUI 连接失败"一节给出的第 3 步:在浏览器中访问 ComfyUI 地址测试)。 - 确认 Pixelle-Video 服务本身正常:浏览器打开
http://localhost:8501看到 Web 界面、http://localhost:8000/docs看到 API 文档。docker-compose.yml 中两个服务也配置了健康检查,分别请求容器内的http://localhost:8000/health和http://localhost:8501/_stcore/health,可用docker-compose logs -f查看日志判断启动情况。 - 在 Web UI 中测试 ComfyUI 连接:进入「⚙️ 系统配置」,配置说明给出的本地部署流程是——填写 ComfyUI URL 后点击「测试连接」确认服务可用。测试连接通过,说明容器已经能访问宿主机上的 ComfyUI。
- 端到端验证:配置完成并保存后(配置会写回
config.yaml),按 快速开始 生成一个视频,图像/视频由本地 ComfyUI 出图即为最终确认。
连接失败时检查哪些项
故障排查文档给出的"ComfyUI 连接失败"可能原因与解决方案:
- 可能原因:ComfyUI 未运行;URL 配置错误;防火墙阻止。
- 处理步骤:确认 ComfyUI 正在运行;检查 URL 配置(默认
http://127.0.0.1:8188,Docker 部署下应为host.docker.internal:8188或宿主机 IP);在浏览器中访问 ComfyUI 地址测试;检查防火墙设置。
针对 Docker 场景再补一条文档依据明确的检查点:如果宿主机是 Linux 却填了host.docker.internal,会解析失败——config.example.yaml 的注释明确区分了 Mac/Windows 用host.docker.internal:8188、Linux 用宿主机 IP 地址两种写法,改错平台时按此对照修正即可。
边界说明
- 如果你不需要本地 ComfyUI,可以直接使用 RunningHub 云端工作流:只需在
config.yaml的comfyui段填写runninghub_api_key,图像/视频工作流保持默认的runninghub/...即可,此时comfyui_url填什么都不影响该路径,Docker 网络问题也不会出现。 - 本地 ComfyUI 方案在宿主机上建议配备 NVIDIA 显卡(6GB+ 显存),这是 安装文档系统要求一节对本地部署 ComfyUI 的说明。
【免费下载链接】Pixelle-Video🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考