Docker中创建可以使用GPU的容器

我们知道很多云服务商是提供显卡虚拟化服务的,比如Google Colab,可以在JupyterLab的运行时中选择GPU类型,阿里云的函数计算和PAI DSW也支持显卡类型的实例。

这些服务多半是以容器的方式部署的,以达到秒级启动的效果。

那么我们在创建Docker容器时,可不可以像它们那样使用主机上的显卡呢?

答案是可以的!假定主机系统是Ubuntu,显卡是Nvidia家的,且已安装好显卡驱动和CUDA、CUDNN的包。

将以下内容保存为脚本并以root身份执行

#!/bin/sh
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
apt update && apt -y install nvidia-container-toolkit
systemctl restart docker

这个操作主要是为了安装nvidia-container-toolkit,不然会报错docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

接下来再创建容器时加个参数 --gpus all就可以让容器用上Nvidia的显卡了!

Leave a Comment

豫ICP备19001387号-1