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

👉 两个都要走代理


相关推荐
云飞云共享云桌面2 小时前
研发部门使用SolidWorks和ug,cad,设计共享云桌面应该怎么选?
运维·服务器·网络·人工智能·3d
江湖有缘2 小时前
PanCheck 容器化部署:自建网盘链接检测服务全流程
docker
麦聪聊数据2 小时前
数据库安全与运维管控(五):基于AST的SQL拦截与动态审批
运维·数据库·sql
亚空间仓鼠2 小时前
OpenEuler系统常用服务(十)
linux·运维·服务器·网络
艾莉丝努力练剑2 小时前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
SCBAiotAigc2 小时前
2026.4.10:docker desktop内网环境安装教程
人工智能·docker·容器·具身智能
饼瑶2 小时前
Isaac Sim 5.0.0 Docker 部署手册(实验室服务器)
服务器·docker·容器
dddddppppp1232 小时前
linux head.s 从第一条指令到start_kernel
linux·运维·服务器
BioRunYiXue2 小时前
AlphaGenome:DeepMind 新作,基因组学迎来 Alpha 时刻
java·linux·运维·网络·数据库·人工智能·eclipse