cuda-10.2
python-3.8
可以随便找一个grpc的官法docker镜像
在虚拟机上安装cuda会需要人为输入操作指令,而在docker上安装则可以直接通过yum,具体可参照Nvidia的[dockerfile](https://gitlab.com/nvidia/container-images/cuda/-/tree/master/dist/10.2/centos7), 注意repo中有三个镜像 `base`, `run`, `devel`, 这三个镜像是顺序依赖关系,如果想在一个dockerfile里搞定,就需要合并一下
FROM mirrors.****.com/grpc-python-compile\_linux3.1:0.1.7 as base
FROM base as base-amd64
ENV NVARCH x86\_64
ENV NVIDIA\_REQUIRE\_CUDA cuda>=10.2 brand=tesla,driver>=396,driver<397 brand=tesla,driver>=410,driver<411 brand=tesla,driver>=418,driver<419 brand=tesla,driver>=440,driver<441
ENV NV\_CUDA\_CUDART\_VERSION 10.2.89-1
RUN echo -e "[cuda]\nname=cuda\nbaseurl=https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86\_64\nenabled=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" > /etc/yum.repos.d/cuda.repo
RUN echo -e "[nvidia-ml]\nname=nvidia-ml\nbaseurl=https://developer.download.nvidia.com/compute/machine-learning/repos/rhel7/x86\_64\nenabled=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" > /etc/yum.repos.d/nvidia-ml.repo
RUN NVIDIA\_GPGKEY\_SUM=d1be581509378368edeec8c1eb2958702feedf3bc3d17011adbf24efacce4ab5 && \
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel7/${NVARCH}/7fa2af80.pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \
echo "$NVIDIA\_GPGKEY\_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict -
ENV CUDA\_VERSION 10.2
RUN yum upgrade -y
RUN yum install -y \
cuda-cudart-10-2-${NV\_CUDA\_CUDART\_VERSION} \
cuda-compat-10-2 \
&& ln -s cuda-10.2 /usr/local/cuda \
&& yum clean all \
&& rm -rf /var/cache/yum/\*
# nvidia-docker 1.0
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
ENV LD\_LIBRARY\_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64
# nvidia-container-runtime
ENV NVIDIA\_VISIBLE\_DEVICES all
ENV NVIDIA\_DRIVER\_CAPABILITIES compute,utility
ENV NV\_CUDA\_LIB\_VERSION 10.2.89-1
ENV NV\_NVTX\_VERSION 10.2.89-1
ENV NV\_LIBNPP\_VERSION 10.2.89-1
ENV NV\_LIBCUBLAS\_PACKAGE\_NAME libcublas10
ENV NV\_LIBCUBLAS\_VERSION 10.2.2.89-1
ENV NV\_LIBCUBLAS\_PACKAGE ${NV\_LIBCUBLAS\_PACKAGE\_NAME}-${NV\_LIBCUBLAS\_VERSION}
ENV NV\_LIBNCCL\_PACKAGE\_NAME libnccl
ENV NV\_LIBNCCL\_PACKAGE\_VERSION 2.11.4-1
ENV NCCL\_VERSION 2.11.4
ENV NV\_LIBNCCL\_PACKAGE ${NV\_LIBNCCL\_PACKAGE\_NAME}-${NV\_LIBNCCL\_PACKAGE\_VERSION}+cuda10.2
RUN yum install -y \
cuda-libraries-10-2-${NV\_CUDA\_LIB\_VERSION} \
cuda-nvtx-10-2-${NV\_NVTX\_VERSION} \
cuda-npp-10-2-${NV\_LIBNPP\_VERSION} \
${NV\_LIBCUBLAS\_PACKAGE} \
${NV\_LIBNCCL\_PACKAGE}
ENV NV\_CUDA\_LIB\_VERSION 10.2.89-1
ENV NV\_NVPROF\_VERSION 10.2.89-1
ENV NV\_CUDA\_CUDART\_DEV\_VERSION 10.2.89-1
ENV NV\_NVML\_DEV\_VERSION 10.2.89-1
ENV NV\_LIBNPP\_DEV\_VERSION 10.2.89-1
ENV NV\_LIBCUBLAS\_DEV\_PACKAGE\_NAME libcublas-devel
ENV NV\_LIBCUBLAS\_DEV\_VERSION 10.2.2.89-1
ENV NV\_LIBCUBLAS\_DEV\_PACKAGE ${NV\_LIBCUBLAS\_DEV\_PACKAGE\_NAME}-${NV\_LIBCUBLAS\_DEV\_VERSION}
ENV NV\_LIBNCCL\_DEV\_PACKAGE\_NAME libnccl-devel
ENV NV\_LIBNCCL\_DEV\_PACKAGE\_VERSION 2.11.4-1
ENV NCCL\_VERSION 2.11.4
ENV NV\_LIBNCCL\_DEV\_PACKAGE ${NV\_LIBNCCL\_DEV\_PACKAGE\_NAME}-${NV\_LIBNCCL\_DEV\_PACKAGE\_VERSION}+cuda10.2
RUN yum install -y \
make \
cuda-nvml-dev-10-2-${NV\_NVML\_DEV\_VERSION} \
cuda-command-line-tools-10-2-${NV\_CUDA\_LIB\_VERSION} \
cuda-cudart-dev-10-2-${NV\_CUDA\_CUDART\_DEV\_VERSION} \
cuda-libraries-dev-10-2-${NV\_CUDA\_LIB\_VERSION} \
cuda-minimal-build-10-2-${NV\_CUDA\_LIB\_VERSION} \
cuda-nvprof-10-2-${NV\_NVPROF\_VERSION} \
cuda-npp-dev-10-2-${NV\_LIBNPP\_DEV\_VERSION} \
${NV\_LIBCUBLAS\_DEV\_PACKAGE} \
${NV\_LIBNCCL\_DEV\_PACKAGE} \
&& yum clean all \
&& rm -rf /var/cache/yum/\*
#RUN 执行以下命令
RUN yum install -y wget && yum clean all
#WORKDIR 相当于cd
WORKDIR /usr/local/app
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。