当前位置:   article > 正文

在windows、ubuntu和centos下创建可以运行gpu的docker容器_windows gpu 容器

windows gpu 容器

0. WSL2安装

WSL(Windows Subsystem for Linux)可以让开发者们在win10系统中运行Linux环境,包括Linux命令行及应用等,个人感觉WSL和虚拟机很相似。在之前,WSL一直是不支持使用CUDA的,也就是无法用GPU来进行计算。今年6月,Nvidia推出了CUDA on WSL,使WSL中可以使用GPU了。

0.1 开启Hyper-V

在这里插入图片描述

0.2 启动组件安装

以管理员身份打开 powershell

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 1
  • 2

然后重启

下载并安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包

https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package

打开 powershell,运行如下命令以将 wsl 的默认版本设置为 WSL 2:

wsl --set-default-version 2

0.3 下载Linux分发版

在微软商店内下载linux分发版,比如Ubuntu20.04LTS
在这里插入图片描述

1. docker安装

https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe

2. WSL2 cudaToolKit安装

2.1 windows下显卡驱动安装

下载并安装适配的驱动版本

https://www.nvidia.com/download/index.aspx

2.2 在WSL内部安装 cudaToolKit

PS: 选择与WSL适配的cudaToolKit版本

进入到WSL,并运行以下命令:
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这时候nvcc -V显示不出来,需要在~/.bashrc文件下做环境变量的配置。vim ~/.bashrc 在最下面添加这几行

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PAT
  • 1
  • 2
znsz@WIN-VJ77RBRSI1K:/usr/local$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:15:15_PDT_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3 用docker创建一个带有pytorch-gpu环境的容器

gcc版本升级

参考这篇博文

进入到docker-hub选取适配的cuda版本

https://hub.docker.com/r/pytorch/pytorch/tags?page=1&ordering=last_updated

在windows终端运行,拉取镜像

docker pull pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel

创建容器

docker run -i -t --gpus all pytorch:pytorch:1.11.0-cuda11.3-cudnn8-devel

Ubuntu

安装docker

# 删除老版本的docker
sudo apt-get remove docker docker-engine

# 开始安装
sudo apt-get update
sudo apt-get install docker.io

# 查看docker版本号
sudo docker -v

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

安装NVIDIA container toolkit

Docker19.03以前的版本,需要使用nvidia-docker2才能在docker环境中使用显卡资源,Docker 19.03版本之后,只需要安装nvidia-container-toolkit并使用–gpus all就可以使用显卡资源了

# Add the package repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

安装完成之后验证一下,输入:

which nvidia-container-runtime
  • 1

Centos

安装docker

安装NVIDIA container toolkit

# 使用nvidia-container-toolkit

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
   
sudo yum update && yum install -y nvidia-container-toolkit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/46989
推荐阅读
相关标签
  

闽ICP备14008679号