Windows 让 Docker 支持NVIDIA Container Toolkit

本文部分内容摘自如下博文地址:

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下载页:

Official Drivers | 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 ........

### NVIDIA Container ToolkitWindows 上的安装 目前官方并不支持直接在 Windows 操作系统上安装 NVIDIA Container Toolkit[^1]。该工具集主要设计用于 Linux 平台,因为其依赖于特定的内核模块以及驱动程序来实现 GPU 的容器化操作。 对于希望在 Windows 中利用 DockerNvidia GPU 功能的开发者来说,推荐的方式是在 Windows Subsystem for Linux (WSL 2) 下运行 Ubuntu 或其他受支持的 Linux 发行版,并在此环境中配置 DockerNVIDIA Container Toolkit[^2]。 具体步骤如下: #### 设置 WSL 2 和 Ubuntu 确保已启用 WSL 2 特性并安装了最新的适用于 Linux 的 Windows 更新包。接着通过 Microsoft Store 获取并设置好 Ubuntu 环境。 #### 配置 Docker Desktop on Windows 下载并安装最新版本的 Docker Desktop,在启动时勾选 "Use the WSL 2 based engine" 选项以允许 Docker 使用 WSL 2 后端引擎。 #### 安装 NVIDIA Drivers and CUDA Toolchain within WSL 2 按照官方文档指导完成显卡驱动和 CUDA 工具链的部署工作,这通常涉及到添加 APT 存储库、更新软件列表并执行相应的 apt-get install 命令。 #### 安装 NVIDIA Container Toolkit inside WSL 2 最后一步就是遵循标准流程安装 NVIDIA Container Toolkit 到 WSL 2 实例中去,从而使得基于此环境构建的应用能够访问到主机上的 GPU 资源。 ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sed 's/# deb/deb/' | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值