构建Pytroch-GPU镜像(基于cuda的nvidia-docker镜像)
程序员文章站
2022-04-30 19:29:36
0.前言可以直接拉取pytorch官方镜像docker pull pytorch但是该方法拉取的镜像基于conda安装的,如果需要调整cuda以及python版本会造成依赖被改变,并且创建的镜像过于庞大1.解决方法这里直接基于nvida/cuda,使用DockerFile构建一个轻便的镜像FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04MAINTAINER zha# #LABEL version="1.0"# #指定系统编码ENV LANG...
- 前言
可以直接拉取pytorch官方镜像docker pull pytorch/pytorch:1.5-cuda10.1-cudnn7-runtime
docker pull pytorch/pytorch:1.5-cuda10.1-cudnn7-runtime
docker pull pytorch/pytorch:1.5-cuda10.1-cudnn7-decel
但是该方法拉取的镜像基于conda安装的,如果需要调整cuda以及python版本会造成依赖被改变,并且创建的镜像过于庞大(Python版本都是3.7,本人使用的一个源码需要Python3.6,最后导出的镜像居然有9.4G)
- 解决方法
直接基于nvida/cuda,使用DockerFile构建一个轻便的镜像docker build -t pytorch-gpu .
FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04
MAINTAINER zha
# #LABEL version="1.0"
# #指定系统编码
ENV LANG C.UTF-8
EXPOSE 8080
RUN sed -i s:/archive.ubuntu.com:/mirrors.aliyun.com/ubuntu:g /etc/apt/sources.list
# #RUN sed -i s:/archive.ubuntu.com:/mirrors.tuna.tsinghua.edu.cn/ubuntu:g /etc/apt/sources.list
RUN cat /etc/apt/sources.list && apt-get clean && apt-get -y update --fix-missing
RUN apt-get -y install python3.6 python3-pip && ln -s /usr/bin/python3.6 /usr/bin/python && ln -s /usr/bin/pip3 /usr/bin/pip
RUN apt-get install -y libsm6 libxrender1 libxext-dev
# #安装需要的库
RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ web.py torch==1.3.1 torchvision==0.4.2 opencv-python scipy flask
RUN apt-get clean && rm -r ~/.cache/pip
- 体积更小的镜像
如果镜像不需要后期维护,可以直接使用docker exec -it nvidia/cuda:10.1 /bin/bash
进入镜像内部使用dockerfile内的指令构建完毕后使用docker commit
指令由容器创建镜像。这样的创建的镜像由于只有一层,体积会更小。
注意:
该方法创建的镜像不包含构建时的信息,可能存在隐患(本人当前使用的场景不考虑后期维护,可以无视)
- COPY指令与ADD指令类似,同样可以将本地文件拷贝到镜像内。
- 但是ADD可以添加src为URL的源数据到镜像,COPY只能是本地数据。
-
docker build -t imageName .
指令后面的.
表示使用当前目录下的dockerfile构建镜像。
本文地址:https://blog.csdn.net/qq_27036771/article/details/107316314