WSL + Docker + GPU 安装 video-subtitle-remover 完整文档


🎯 一、最终目标

在本机实现:

text 复制代码
上传视频 → GPU处理 → 输出去字幕视频

🧱 二、最终可用环境(你实际跑通的)

text 复制代码
WSL2
 + NVIDIA 驱动(Windows)
 + 自装 Docker Engine
 + NVIDIA Container Toolkit
 + Docker GPU
 + video-subtitle-remover

⚙️ 三、前置确认(必须通过)

1️⃣ WSL GPU 正常

bash 复制代码
nvidia-smi

👉 必须能看到显卡


2️⃣ Docker GPU 最终验证

bash 复制代码
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

👉 成功标志:

  • 能看到 GPU
  • 无报错

🌐 四、关键问题:WSL 网络(必须解决)

问题核心就是:

text 复制代码
Could not handshake

👉 本质:

WSL 访问 GitHub CDN 失败


🔥 五、解决方案:临时代理(你最终用的)

👉 设置代理

bash 复制代码
http://192.168.1.246:10809

1️⃣ 设置代理(必须)

bash 复制代码
export http_proxy=http://192.168.1.246:10809
export https_proxy=http://192.168.1.246:10809

2️⃣ apt 必须用临时代理

bash 复制代码
sudo apt-get \
-o Acquire::http::Proxy="http://192.168.1.246:10809" \
-o Acquire::https::Proxy="http://192.168.1.246:10809" \
update

📦 六、安装 NVIDIA Container Toolkit(核心步骤)

1️⃣ 添加源

bash 复制代码
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
bash 复制代码
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

2️⃣ 更新(必须带代理)

bash 复制代码
sudo apt-get \
-o Acquire::http::Proxy="http://192.168.1.246:10809" \
-o Acquire::https::Proxy="http://192.168.1.246:10809" \
update

3️⃣ 安装(必须带代理)

bash 复制代码
sudo apt-get \
-o Acquire::http::Proxy="http://192.168.1.246:10809" \
-o Acquire::https::Proxy="http://192.168.1.246:10809" \
install -y \
nvidia-container-toolkit \
nvidia-container-toolkit-base \
libnvidia-container-tools \
libnvidia-container1

⚙️ 七、配置 Docker GPU

bash 复制代码
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

✅ 八、验证成功(关键)

bash 复制代码
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

👉 成功 = GPU 已完全打通


🎬 九、运行 video-subtitle-remover

1️⃣ 准备目录

bash 复制代码
mkdir -p ~/vsr-test
cd ~/vsr-test

2️⃣ 放视频

text 复制代码
input.mp4

3️⃣ 执行

bash 复制代码
docker run -it --rm \
--gpus all \
-v $(pwd):/app/test \
eritpchy/video-subtitle-remover:1.4.0-cuda11.8 \
python backend/main.py -i test/input.mp4 -o test/output.mp4

4️⃣ 输出结果

text 复制代码
~/vsr-test/output.mp4

⚠️ 十、这次所有坑总结(重点)


❌ 1. Docker GPU 报错

text 复制代码
could not select device driver

👉 原因:

没装 toolkit


❌ 2. apt handshake

text 复制代码
Could not handshake

👉 原因:

没走代理


❌ 3. update OK install 不行

👉 原因:

install 没带代理


❌ 4. curl 一直失败

👉 原因:

没 export proxy


🎯 十一、核心经验(最重要)

👉 记住这 3 条就够了:


🧠 1. WSL 网络 ≠ Windows 网络

👉 必须单独配代理


🧠 2. apt update ≠ apt install

👉 两个都要走代理


相关推荐
Plastic garden1 分钟前
K8s(12)RuoYi on K8s 全流程 · 全思路 · 全排错 · 全配置
云原生·容器·kubernetes
专注API从业者2 分钟前
告别手动翻页!基于淘宝商品接口 + Open Claw 实现自动化选品与实时监控(附完整 Python 代码)
大数据·运维·数据库·自动化
拦路雨g2 分钟前
VMware centos磁盘容量扩容
linux·运维·centos
休息一下…4 分钟前
能用的Docker镜像
运维·docker·容器
AI服务老曹5 分钟前
解耦安防黑盒:基于 Docker 的国标 GB28181 与 RTSP 统一接入 AI 视频管理平台架构设计(附源码交付与边缘计算实践)
人工智能·docker·音视频
Promise微笑6 分钟前
智慧电力运维:局放仪分类、选型策略与深度应用实践
运维·分类·数据挖掘
我星期八休息8 分钟前
Linux系统编程— Mmap实现⽂件LRU缓存
linux·运维·服务器·数据库·mysql·缓存
jiuri_121515 分钟前
Linux 服务器 Codex + DeepSeek 配置
linux·运维·服务器
ai产品老杨23 分钟前
突破安防碎片化僵局:基于 Docker 与边缘计算的 AI 视频管理平台异构架构设计(附 GB28181/RTSP 统一接入与源码交付)
人工智能·docker·边缘计算
凯丨38 分钟前
MCP Server 教程:从零构建一个自定义工具服务器(2026 最新)
运维·服务器