1.验证Docker与NVIDIA GPU的兼容性:
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
2.目录及代码:
目录结构为:
E:\dify\vibe-voce\
├── VibeVoice\ # 这是从GitHub克隆的源码
│ ├── demo\ # 包含vibevoice_realtime_demo.py
│ ├── setup.py # 安装文件
│ └── ...其他文件
└── models\ # 存放下载的模型
git拉取代码:git clone https://github.com/microsoft/VibeVoice.git
3.命令提示符内执行:
docker run --name vibevoice -p 3006:3000 --gpus all -v E:\dify\vibe-vioce:/app -w /app/VibeVoice -it --rm nvcr.io/nvidia/pytorch:24.07-py3 bash -c "apt update && apt install -y git libsndfile1 ffmpeg && export HF_ENDPOINT=https://hf-mirror.com && pip install -e . && python demo/vibevoice_realtime_demo.py --model_path microsoft/VibeVoice-Realtime-0.5B"
4.运行成功页面截图:

5.访问localhost:3006

start之后,运行结束会生成 .wav语言文件
6.参数说明:
--name vibevoice \ # 容器名称
-p 3006:3000 \ # 端口映射
--gpus all \ # GPU配置
-v E:\dify\vibe-vioce:/app \ # 数据卷挂载
-w /app/VibeVoice \ # 工作目录
-it \ # 交互模式
--rm \ # 自动清理
nvcr.io/nvidia/pytorch:24.07-py3 \ # 基础镜像
bash -c "..." # 容器内执行的命令
--name vibevoice 容器命名
-p 3006:3000 端口映射
3006: Windows主机端口
3000: Docker容器内端口
访问 http://localhost:3006→ 容器内 3000
-v E:\dify\vibe-vioce:/app 数据卷挂载
E:\dify\bibe-vioce: Windows本地路径
/app: Docker容器内路径(实现宿主机与容器间文件共享)
-w /app/VibeVoice 工作目录 (设置容器启动后的工作目录为项目路径)
-it 交互模式
-i: 交互模式,保持STDIN打开
-t: 分配伪终端
组合使用使容器可交互
--rm 自动清理(容器停止后自动删除,避免残留无用容器)
--gpus all GPU分配
允许容器访问所有GPU,必需NVIDIA Container Toolkit支持