docker 强烈建议安装在Linux上,而且不能是windows上的虚拟机中,必须要是实体机或者双系统
安装windows+ubuntu双系统 在以前文章中写过
传送门
https://blog.csdn.net/qq_33188180/article/details/105787950
安装nvidia 显卡驱动
去nvidia官网,查询自己电脑显卡对应最新的驱动版本,然后下载
参考
http://huhulaoxian.xyz/nvidia_driver/
根据这张图

判断自己需要装cuda的版本
安装docker
根据
https://blog.csdn.net/jinking01/article/details/82490688
即可
辅助docker使用还需装,对应nvidia 显卡驱动版本的cuda,cudnn,nvidia-docker 三个东西
安装CUDA
GPU:Geforce GTX1050Ti
驱动版本:450.66
CUDA_10.0( nvidia与cuda需相匹配)
一,下载cuda安装包
cuda官网下载(https://developer.nvidia.com/cuda-10.0-download-archive),根据系统信息选择对应的版本,runfile安装的话最后一项要选择 runfile文件,如下图片。
下载完后,用MD5 检验,如果序号不和,得重新下载
输入命令:$ md5sum cuda_10.0.130_410.48_linux.run

二、runfile安装cuda
1) 禁用 nouveau驱动(在安装Nvidia驱动时已禁用,$ lsmod | grep nouveau 无输出,跳过1步 )
终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。
Ubuntu的nouveau禁用方法:
a、在/etc/modprobe.d中创建文件blacklist-nouveau.conf
输入命令:$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf (利用vi编辑器编辑和保存文件)
在文件中输入一下内容:
blacklist nouveau
options nouveau modeset=0
b、执行:
$ sudo update-initramfs –u
c、再执行:
$ lsmod | grep nouveau
若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。
注:vi(或者用gedit)是Linux终端下或控制台下常用的编辑器,基本的操作方式为:vi /路径/文件名
例如:vi /etc/fstab表示显示/etc/fstab文件的内容。使用键盘上的Page Up和Page Down键可以上下翻页;按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容。编辑完内容后,按下Esc键,并输入“:wq”,然后回车就可以保存退出。
如果不想保存而直接退出,则按下Esc键后,输入“:q!”,然后回车即可。“wq”表示Write和Quit,即保存退出;“q!”表示忽略修改强行退出。
以下操作建议手机拍照,建议把下载的cuda_10.0.130_410.48_linux.run文件重命名为cuda.run并移动到Home文件夹下(为了安装方便)
2) 输入 $ sudo service lightdm stop 关闭图形化界面
3) 切换到cuda安装文件的路径:$ cd Home/
运行$ sudo sh cuda.run


首先会显示用户许可证信息,按空格键直至进度条显示到100%
然后按照提示一步步操作accept-n(driver,此前已安装过驱动)-y-y-y
4) 输入 $ sudo service lightdm start 重新启动图形化界面。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。
5) 设置环境变量。
终端中输入 $ sudo gedit /etc/profile
在打开的文件末尾,添加以下两行。
64位系统:
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效。
6) 检查上述的环境变量是否设置成功。
a、 验证驱动版本
敲入 $ cat /proc/driver/nvidia/version 结果显示 
b、 验证CUDA Toolkit
敲入 $ nvcc -V 会输出CUDA的版本信息
如果是这样的:
The program ‘nvcc’ is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit
可能是环境配置没有成功,请重复上述步骤5)。
安装cudnn
cudnn的安装比较简单
(1)下载安装文件
按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive
(2)安装cudnn
我们从Nvidia官网上下载下来的cudnn for linux的文件格式是.solitairetheme8,想要解压的话需要先转成tgz格式再解压:
cp cudnn-10.0-linux-x64-v7.3.1.20.solitairetheme8 cudnn-10.0-linux-x64-v7.3.1.20.tgz
tar -xvf cudnn-10.0-linux-x64-v7.3.1.20.tgz
解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
(3)查看cudnn版本
在终端输入
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果出现下图所示版本信息,说明安装成功。
安装cuda与cudnn参考
https://blog.csdn.net/lihe4151021/article/details/90237681
安装nvidia-docker
根据官方指导
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
执行以下命令,即可安装成功
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
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker