环境
- Ubuntu 18.04 /Ubuntu 16.04
- Docker 19.03.2
- CUDA 10.1
- cuDNN 7.6.1.34
查看 Docker 版本:
docker --version
查看 CUDA及cuDNN 版本可参照:https://blog.csdn.net/weixin_40922744/article/details/103029070
nvidia-docker 安装
注:此处搬自官网:NVIDIA Container Toolkit ,如搬运错误,请及时指正。
请注意,随着Docker 19.03的发布,不赞成使用nvidia-docker2软件包,因为Docker现在运行时已将NVIDIA GPU作为设备本地支持。如果您是nvidia-docker2软件包的现有用户,请查看“使用nvidia-docker2升级”部分中的说明。
- 安装 NVIDIA Container Toolkit 工具包
NVIDIA Container Toolkit允许用户构建和运行GPU加速的Docker容器。该工具包包括容器运行时库和实用程序,用于自动配置容器以利用NVIDIA GPU。
# 添加软件包存储库
$ 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
# 安装NVIDIA Container Toolkit工具包
$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
# 重启 docker 服务
$ sudo systemctl restart docker
- 测试
# 使用官方CUDA镜像测试 “nvidia-smi”指令
$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
出现如下画面,则 表示安装成功:
注:截止到此时cuda版本已更新到10.1,大家可以下载 最新的镜像:$ docker run --gpus all nvidia/cuda:10.1-base nvidia-smi
。(这只是用来测试 nvidia-docker 是否安装成功的,不必追求cuda版本)
如有使用 nvidia-docker2 的伙伴可以看出此测试指令的变化,这就是开头提到的“因为Docker现在运行时已将NVIDIA GPU作为设备本地支持。”,注意:未来系统将不再支持nvidia-docker2软件包,如有使用,请尽快升级。
----------------------------------------------------------------手动分割线---------------------------------------------------------------
使用nvidia-docker2升级
如果您已经安装了旧软件包(nvidia-docker2),则仍然可以更新到最新的Docker版本(> = 19.03),并可以使用新的CLI选项来支持GPU:
# 基于debian的发行版: Ubuntu / Debian
$ sudo apt-get update
$ sudo apt-get --only-upgrade install docker-ce nvidia-docker2
$ sudo systemctl restart docker
测试:
# 以下所有选项都将继续有效
$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
$ docker run --runtime nvidia nvidia/cuda:9.0-base nvidia-smi
$ nvidia-docker run nvidia/cuda:9.0-base nvidia-smi