在win11的Linux子系统WSL2(Ubuntu18.04、20.04测试可用)上安装支持GPU的docker(nvidia-docker)

在win11的Linux子系统WSL2(Ubuntu18.04、20.04测试可用)上安装支持GPU的docker(nvidia-docker)_第1张图片

0. 环境要求

安装好Nvidia驱动的Ubuntu服务器或者WSL2(后者一般自带显卡驱动)

  • 安装好Nvidia驱动的Ubuntu服务器或者WSL2(后者一般自带显卡驱动),本文以WSL2为例
  • 在win11的Linux子系统WSL2(Ubuntu18.04、20.04测试可用)上安装支持GPU的docker(nvidia-docker)_第2张图片

通过nvidia-smi验证是否安装好驱动,以及所安装的驱动和cuda的版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQaywjO4-1660648016311)(image_1.daccfac4.png)]

如果没有安装好驱动可以尝试以下命令或自行百度安装

sudo apt update
sudo ubuntu-drivers devices # 查看显卡型号和推荐的驱动 sudo ubuntu-drivers autoinstall # 自动安装推荐的版本驱动

1. 安装Docker

  • 卸载旧版
 sudo apt-get remove docker docker-engine docker.io containerd runc

  • 安装依赖
sudo apt-get update

sudo apt-get install ca-certificates curl gnupg lsb-release

  • 添加docker的官方gpg密钥
 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

  • 设置安装的版本为稳定版
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  • 安装社区版(CE)doker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

2. 安装GPU的支持

# 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](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 

3. 安装nvidia-docker2

sudo apt-get update
sudo apt-get install -y nvidia-docker2

4.测试的准备工作和测试

  • 换docker源
sudo nano /etc/docker/daemon.json

在文件后面添加如下内容

{
"registry-mirrors": [
"[https://registry.docker-cn.com](https://registry.docker-cn.com)",
"[https://docker.mirrors.ustc.edu.cn](https://docker.mirrors.ustc.edu.cn)",
"[https://hub-mirror.c.163.com](https://hub-mirror.c.163.com)"
]
}

重启一下doker

sudo service docker stop
sudo service docker start # 重启一下docker
  • 添加一下docker用户权限
 sudo gpasswd -a $USER docker 
newgrp docker
  • 拉取一个pytorch的镜像
docker pull pytorch/pytorch:latest
  • 测试,基于该镜像在容器里打印一下显卡驱动信息(注意--gpus all是调用显卡的命令)
docker run --rm --gpus all pytorch/pytorch nvidia-smi

看到这个就意味着大功告成了

在win11的Linux子系统WSL2(Ubuntu18.04、20.04测试可用)上安装支持GPU的docker(nvidia-docker)_第3张图片

之后会继续记录我在docker里的学习过程,目标是实现将整个环境打包,在其他服务器上部署,方便以后的环境迁移以及代码复现,欢迎关注

你可能感兴趣的:(docker,docker,linux,ubuntu)