Docker Compose 构建报错:Windows 路径解析 https 协议冲突
Ollama
Open-LLM-VTuber Ollama Qwen 2.5 Sherpa-Onnx Edge-TTS 拉取Open-LLM-VTuber,项目报错 官方建议在 Windows 环境下回退到本地相对路径构建
表现

从报错日志 CreateFile F:\...\https:: The filename... syntax is incorrect. 可以一眼看出,这是 Windows 环境下 Docker Compose 的一个底层路径解析 Bug。
当你在 docker-compose.yml 的 build: context: 中直接填入 https://... 网址时,Windows 的文件系统 API 会弱智地把 https: 当作一个类似于 C: 或 F: 的本地硬盘驱动器盘符。它试图在你的 F 盘下去寻找一个名为 https: 的文件夹,从而导致了“文件名或卷标语法不正确”的致命崩溃。
原因
Windows 系统的底层路径解析将 https:// 误认为了本地盘符导致构建崩溃;最彻底的解法是手动 git clone 项目源码到本地,并将 Docker 配置文件指向该本地目录进行构建。
步骤 1:手动将数字人源码克隆到本地
确保你当前在 F:\work_space\python_workspace\AIRI_Project 目录下执行:
# 使用 Git 将源码克隆到名为 "npc_engine" 的子文件夹中
git clone https://github.com/Open-LLM-VTuber/Open-LLM-VTuber.git npc_engine
步骤 2:修改为“纯本地引用”的配置文件
清空你的 docker-compose.yml,替换为以下配置。注意看 build: context: 的变化,它现在指向了刚刚下载的本地文件夹。
services:
magic-witch-npc:
build:
# 【核心更改】直接指向刚刚 git clone 下来的本地源码目录
context: ./npc_engine
container_name: magic_witch_container
ports:
- "8000:8000"
- "3000:3000"
environment:
- LLM_PROVIDER=openai
- OPENAI_API_KEY=你的DEEPSEEK_API_KEY_填这里
- OPENAI_BASE_URL=https://api.deepseek.com/v1
- LLM_MODEL=deepseek-chat
- TTS_ENGINE=edge-tts
volumes:
# 将 F 盘外部的模型挂载到刚编译好的容器中
- ./models/witch:/app/live2d_models/witch
restart: always
步骤 3:最终本地构建与点火
执行以下命令
# 强制基于本地源码进行容器构建并后台运行
docker-compose up -d --build
# 实时查看构建进度与启动日志
docker-compose logs -f