0
点赞
收藏
分享

微信扫一扫

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

unadlib 2022-06-28 阅读 70


文章目录

  • ​​0. WSL2安装​​
  • ​​0.1 开启Hyper-V​​
  • ​​0.2 启动组件安装​​
  • ​​0.3 下载Linux分发版​​
  • ​​1. docker安装​​
  • ​​2. WSL2 cudaToolKit安装​​
  • ​​2.1 windows下显卡驱动安装​​
  • ​​2.2 在WSL内部安装 cudaToolKit​​
  • ​​3 用docker创建一个带有pytorch-gpu环境的容器​​
  • ​​Ubuntu​​
  • ​​安装docker​​
  • ​​安装NVIDIA container toolkit​​
  • ​​Centos​​

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

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

0.2 启动组件安装

以管理员身份打开 powershell

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

然后重启

下载并安装适用于 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
在windows、ubuntu和centos下创建可以运行gpu的docker容器_docker_02

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,并运行以下命令:
在windows、ubuntu和centos下创建可以运行gpu的docker容器_docker_03

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

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

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PAT
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

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

安装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

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


举报

相关推荐

0 条评论