本文部分内容摘自如下博文地址:
Windows 下让 Docker Desktop 关联上 NVidia GPU_windows docker nvidia-CSDN博客
前兆:docker run --rm --runtime=nvidia --gpus all ........报错,提示大概如下:
docker: Error response from daemon: unknown or invalid runtime name: nvidia.
一、准备工作:
1、安装 Docker Desktop
官网下载for windows安装包,我安装的是V26, 文档:https://docs.docker.com/desktop/install/windows-install/
1.1、检查是否安装Hyper-v,在“开始”菜单搜索并点开“启用或关闭windows功能”
1.2、勾选以下两个选项,并重启电脑
1.3、检查是否拥有正确的Nvidia驱动,在“开始”菜单中搜索“CMD”,输入并运行以下内容
nvidia-smi
如果出现正常的版本信息,则表明曾经成功安装过驱动,如提示错误,则按以下方法安装Nvidia驱动
1打开Nvidia下载页:
点击Search查询到相关驱动程序:
下载完成后,一路安装下去就可以了
1.4、检查虚拟BIOS是否已启用:
如果未启用,则重新开机进入BIOS启用虚拟化,或直接在Windows中以管理员身份运行PowerShell, 并执行以下命令:
(注,以下两条命令,请分别在两个PowerShell窗口下执行,没有执行完成不要关闭窗口)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
2、安装 WSL 2
此步必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用
查看WSL 命令
wsl -l -v
如果安装过WSL1 和WSL 2, 可用如下命令进行切换:
wsl --set-default-version 2
如果wsl显示不正常,就请按如下方法进行安装:
wsl --install
安装 Ubuntu 20.04:
wsl --install -d Ubuntu-20.04
安装完成后,会出现输入账号和密码。
二、启用 Docker 的 Nvida引擎
1、安装 nvidia 容器工具包
Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.15.0 documentation
在Windows开始菜单中打开“Ubuntu 20.04", 进行Linux命令行模式:输入以下命令:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& 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、*可选* Optionally, configure the repository to use experimental packages:
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
3、执行apt更新:
sudo apt-get update
4、安装工具包:
sudo apt-get install -y nvidia-container-toolkit
如果出现 /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link之类的错误,重启电脑!
5、配置 Docker Daemon
执行以下命令:
sudo nvidia-ctk runtime configure --runtime=docker
也可以在打开 Docker Desktop 如下操作之后,保存并重启Docker:
经过以上操作,就可以在Windows命令行下运行带NVidia引擎的容器了:
docker run --rm --runtime=nvidia --gpus all ........