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

👉 两个都要走代理


相关推荐
小五传输17 分钟前
消防总队信创改造实践:国产文件传输服务器解决文件传输难题
大数据·运维·安全
云飞云共享云桌面20 分钟前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
T型码农要学习21 分钟前
开源项目5|FileBrowser:免费在线文件管理器!随时随地管控服务器文件
运维·服务器·人工智能·开源
朱 欢 庆37 分钟前
云服务器附件备份到本机内网服务器
运维·服务器·前端·经验分享
Sayai44 分钟前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker
智恒百亿44 分钟前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
志栋智能6 小时前
超自动化运维如何支持合规审计?
运维·自动化
小诗懂技术6 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
名字还没想好☜6 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
鹤落晴春7 小时前
有状态应用 vs 无状态应用
运维·云原生·k8s