Ubuntu 18.04 docker 容器使用GPU

1 移除旧版本的nvidia-docker,如果之前没有安装过nvida-docker,这步省略

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

2 更新源

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

3 根据dockers版本下载nvidia-docker

1)如果docker 18 执行如下命令

sudo apt-get install -y nvidia-docker2

sudo pkill -SIGHUP dockerd

2)如果docker 17 执行如下命令

sudo apt-get install -y nvidia-docker2=2.0.3+docker17.12.1-1 nvidia-container-runtime=2.0.0+docker17.12.1-1

  sudo pkill -SIGHUP dockerd

注意:具体版本匹配 可以采用sudo apt-cache search nvidia-docker*进行查询.如果没有查询到匹配的docker和nvidia-docker版本,可以根据产考文献1生成docker-nvidia,复制到宿主机器,编写daemon.json即可

4 安装完成后测试

1)驱动测试

docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

注意:cuda 版本和nvidia版本和os 都有关系,需要确保nvidia和os 支持cuda版本

2tensorflow 测试

docker run --runtime=nvidia -it -p 8000:8000 tensorflow/tensorflow:latest-gpu

  通过http 访问 jupyter进行测试即可

参考文献: 1 https://github.com/NVIDIA/nvidia-docker

                   2 https://kairen.github.io/2018/02/17/container/docker-nvidia-install/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐