显卡驱动、镜像cuda版本、pytorch cuda版本三者对应
查看驱动版本
nvidia-smi查看显卡驱动版本

可以看到显卡驱动版本为:450.80.02
查看该驱动版本支持的cuda版本
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
该网址下第二个表格

可以看到最高支持到cuda版本为:11.0
查看pytorch是否支持该cuda版本
https://pytorch.org/

可以看到是支持的
找该cuda版本镜像
https://hub.docker.com/r/nvidia/cuda/tags?page=1&ordering=last_updated
搜索:11.0-cudnn8-runtime-ubuntu18.04
测试系统版本为ubuntu18.04,于是就下18.04的

复制下载命令下载镜像
docker pull nvidia/cuda:11.0-cudnn8-runtime-ubuntu18.04
Dockerfile
FROM nvidia/cuda:11.0-cudnn8-runtime-ubuntu18.04
MAINTAINER casia
COPY get-pip.py get-pip.py
RUN \
mv /etc/apt/sources.list.d /etc/apt/sources.list.d.bak && \
apt-get update -y && \
apt-get install -y python3 && \
apt install -y python3-distutils && \
ln -s /usr/bin/python3.6 /usr/bin/python && \
python get-pip.py && \
rm get-pip.py && \
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html && \
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple && \
pip install scikit-learn==0.23.2 tqdm==4.51.0 opencv-python==4.4.0.46 matplotlib==3.3.3
dockerfile同路径下要有get-pip.py,之所以要这个是因为这样安装pip是最精简的,其他方式十分冗余
get-pip.py获取地址:
https://bootstrap.pypa.io/get-pip.py
右键另存为即可
创建环境
docker build -t cuda11.0-pytorch:v1 .


docker images
就可以查看到了刚定制的镜像
保存镜像
docker save cuda11.0-pytorch:v1 | gzip -c > cuda11.0-pytorch.tar.gz
注:为什么选runtime
仔细看dockerhub nvidia/cuda 有base runtime devel
看官方给的说明
https://github.com/NVIDIA/nvidia-docker/wiki/CUDA

大概意思就是
base:啥也没有,东西自己装
runtime:基础用的都有
devel:基础用的+调试
镜像大小的一个比一个大,所以就选runtime
最后的反转
后面我发现pytorch有官方的镜像,官方5.55G,我的8.87G明显官方的小很多
https://hub.docker.com/r/pytorch/pytorch/tags?page=1&ordering=last_updated
网友评论