如果你已经安装了nvidia-docker 1.0:我们需要移除它和所有现有的GPU容器
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge -y nvidia-docker
添加包存储库
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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
安装nvidia-docker2并重新加载Docker守护进程配置
sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd
用最新官方CUDA图像测试nvidia-smi
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
修改配置文件/etc/docker/daemon.json,使得docker运行容器的时候支持支持nvidia-docker
"default-runtime":"nvidia",
sudo docker run -it --privileged=true --name detectron nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 /bin/bash
此处必须添加--privileged=true使得容器真正获取主机硬件资源,包括GPU显卡资源