Ubuntu18.04虚拟机配置可以在服务器使用GPU的镜像(Ubuntu18.04+docker18+cuda10.0+tensorflow-gpu1.14)
安装docker
在Ubuntu中安装指定版本docker是很简单的事,没有什么大坑。可以参考以下博客:
link.
确定我们需要安装什么
由于是用虚拟机来运行的docker,无法调用显卡。所以像GPU驱动是无法安装对应版本的。
我们来看看英伟达官方文档。
本人本次实验是在虚拟机上搭建的镜像容器,虚拟机本身是无法使用宿主机的GPU的!!!而网上大多教程在教学搭建GPU环境时都会要求安装nvidia-docker 或者cuda cudnn。而从官方文档上来看,其实我们是不需要将那些放入我们的镜像的。docker使用GPU需要的包为三个部分:英伟达GOU与驱动、docker与硬件的链接,镜像内的CUDA Toolkit。因此如果我们没打算在配置的机器上跑GPU的话,只需要镜像内下载英伟达提供的Toolkit就行(也就是runtime)。
几番周折踩尽无数坑,最后还是回到了官方镜像,仔细读了文档。官方镜像分三种:devel、runtime、base。 最妥当是直接下devel,啥都有。但是本次只需要runtime,所以在Dockerfile中添加如下语句即可:
# 基础镜像若需要在宿主机使用cuda,需满足cuda要求为10.0,
#ubuntu16.04可换成Centos或ubuntu18.04
FROM nvidia/cuda:10.0-cudnn7-runtime-ubuntu16.04
而我们是想要一个可以运行GPU的容器,所以,需要下载CUDAToolkit
几次手动安装cuda cudnn出现了许多问题,多以直接使用了官方镜像。
或者也可以上dockerhub找配置好的镜像镜像。
link.
总之血的教训是:能下的就不自己搭建,官方文档永远比博客靠谱。