docker-windwos-gpu

  1. 安装NV驱动
  2. 安装docker-desktop
  3. 创建新的vm
  4. 配置Docker
  5. 测试GPU支持

开发环境

  • windows

使用工具

  • docker-destop
  • wsl2

安装NV驱动

windows下安装好就新了,Linux下的驱动安装不需要管

Install the NVIDIA GPU driver for your Linux distribution

官方文档

Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.16.2 documentation

安装docker-desktop

参考 docker-desktop安装

初次安装使用方法2来直接安装

我们需要使用wsl2技术

wsl2技术介绍

我们默认情况下安装完docker-desktop后只会有一个虚拟镜像 docker-desktop

wsl

这个镜像里面就放了docker-desktop这个应用的所有核心程序,在这个上面加扩展是很危险的,所有我们需要再创建一个vm来当作工作环境

创建新的vm

以ubuntu24.04-LTS为例

  1. 我们先下载ubuntu-24.04-wsl的镜像文件

[ubuntu-24.04-wsl](Ubuntu WSL Images)

imgs

ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz 下载到本地文件夹

以d盘为例

# 进入d盘
cd d:

# 创建文件夹
mkdir WSL-VM/ubuntu24.04-gpu

# 进入
cd WSL-VM/ubuntu24.04-gpu

# 安装
wsl --import ubuntu24.04-gpu ./ .\ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz --version 2

wsl --import 参数说明

# 查看wsl参数说明

wsl --help

# 具体的 wsl --import 说明

用于在适用于 Linux 的 Windows 子系统中管理分发版的参数:
    ...
    --import <Distro> <InstallLocation> <FileName> [选项]
        将指定的 tar 文件作为新分发版导入。
        文件名可以是 - for stdin。

        选项:
            --version <Version>
                指定要用于新分发的版本。

            --vhd
                指定所提供的文件是 .vhdx 文件,而不是 tar 文件。
                此操作在指定的安装位置创建 .vhdx 文件的副本。
	...

安装完毕后进入虚拟机检查

# 查看现有的 vm
wsl -l -v

# 启动vm
wsl -d ubuntu24.04-gpu

# 查看nv驱动是否可用
nvidia-smi

成功输出

配置Docker

1. 配置Docker引擎

Setting --> Resources -->WSL integration

docker-engine

Setting --> Docker Engine

修改json数据,加上这一个这个

{
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

重启服务

测试GPU支持

docker run --rm  `
	--gpus all `
	ubuntu nvidia-smi 

成功支持

github