cuda docker镜像

 工作或者开发中难免会用到docker环境。作为深度学习这方面工作者,cuda是不可避免的。自己搭建真的很费劲,看tf官网上推荐的方法。

还好英伟达官方做了很多镜像--nvidia/cuda。

他还提高了很多历史版本--here

切记,一定要根据本地cuda和cudnn版本来选择镜像中的版本。不匹配,会识别不出来。

下面是他们github的,有关ubuntu+cuda的内容。非常基础。不能直接使用。

ARG BASEIMAGE
FROM ${BASEIMAGE}

# packaging dependencies
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
        dh-make \
        fakeroot \
        build-essential \
        devscripts \
        lsb-release && \
    rm -rf /var/lib/apt/lists/*

# packaging
ARG PKG_VERS
ARG PKG_REV
ARG RUNTIME_VERSION
ARG DOCKER_VERSION

ENV DEBFULLNAME "NVIDIA CORPORATION"
ENV DEBEMAIL "[email protected]"
ENV REVISION "$PKG_VERS-$PKG_REV"
ENV DOCKER_VERSION $DOCKER_VERSION
ENV RUNTIME_VERSION $RUNTIME_VERSION
ENV SECTION ""

# output directory
ENV DIST_DIR=/tmp/nvidia-docker2-$PKG_VERS
RUN mkdir -p $DIST_DIR /dist

# nvidia-docker 2.0
COPY nvidia-docker $DIST_DIR/nvidia-docker
COPY daemon.json $DIST_DIR/daemon.json

WORKDIR $DIST_DIR
COPY debian ./debian

RUN sed -i "s;@VERSION@;${REVISION};" debian/changelog && \
    sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \
    if [ "$REVISION" != "$(dpkg-parsechangelog --show-field=Version)" ]; then echo "$(dpkg-parsechangelog --show-field=Version)" && exit 1; fi

CMD export DISTRIB="$(lsb_release -cs)" && \
    debuild --preserve-env --dpkg-buildpackage-hook='sh debian/prepare' -i -us -uc -b && \
    mv /tmp/*.deb /dist

猜你喜欢

转载自blog.csdn.net/weixin_39875161/article/details/115359520