WSL2 Ubuntu 20.04配置Docker及GPU深度学习环境报错求助
WSL2 Ubuntu 20.04 Docker GPU 环境配置解决方案
问题1:systemctl 重启Docker服务报错
WSL2默认未启用systemd,所以直接执行systemctl命令会异常,两种解决方案可选:
- 方案1(无需启用systemd):直接用WSL默认的service命令管理Docker服务,执行命令
sudo service docker restart即可 - 方案2(启用systemd,适配更多原生Linux工具):
- 编辑WSL配置文件:
sudo nano /etc/wsl.conf - 写入以下配置:
[boot] systemd=true - 保存退出后,在Windows命令提示符执行
wsl --shutdown关闭WSL,10秒后重新打开Ubuntu实例,systemd即可生效,后续即可正常使用sudo systemctl restart docker命令
- 编辑WSL配置文件:
问题2:Docker调用GPU测试报错
该报错为NVIDIA容器运行时与WSL2 GPU适配问题,按以下步骤排查解决:
- 第一步:先确认WSL2本身可正常识别GPU
WSL2不需要在Ubuntu系统内单独安装NVIDIA驱动,驱动与Windows端共用,直接在Ubuntu终端执行nvidia-smi,如果该命令返回显卡信息则跳过这一步,如果报错,先升级Windows端NVIDIA驱动到最新版本,重启后再测试 - 第二步:重装并配置NVIDIA Container Toolkit
- 导入NVIDIA官方密钥:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg - 安装工具包:
sudo apt update && sudo apt install -y nvidia-container-toolkit - 配置Docker运行时:
sudo nvidia-ctk runtime configure --runtime=docker - 重启Docker服务(根据是否启用systemd选对应的重启命令即可)
- 导入NVIDIA官方密钥:
- 第三步:更换兼容的测试镜像
你使用的nvidia/cuda:10.4-base镜像版本过老,对WSL2 GPU支持不完善,建议更换为11.x以上版本的CUDA镜像测试,执行命令:docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi - 额外注意:如果你安装的是Windows端的Docker Desktop,需要在Docker Desktop设置中开启WSL2集成、启用GPU支持选项,再执行测试
配置完成后即可正常部署AlphaFold2相关容器,建议优先选择适配CUDA 11.3+的AlphaFold2镜像,减少版本兼容性问题。
内容的提问来源于stack exchange,提问作者Taylor
相关产品推荐
相关产品推荐

