Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Dockerfile 3.13 KiB
# SPDX-License-Identifier: Apache-2.0
ARG UBUNTU_VERSION=18.04
ARG CUDA=10.1
FROM nvidia/cudagl:${CUDA}-base-ubuntu${UBUNTU_VERSION}
LABEL maintainer="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
LABEL authors="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
ARG CUDA
ARG CUDNN
ARG CUDNN_MAJOR_VERSION
ARG LIBNVINFER
ARG LIBNVINFER_MAJOR_VERSION
ENV CUDA ${CUDA}
ENV CUDNN ${CUDNN:-7.6.4.38-1}
ENV CUDNN_MAJOR_VERSION ${CUDNN_MAJOR_VERSION:-7}
ENV LIBNVINFER ${LIBNVINFER:-6.0.1-1}
ENV LIBNVINFER_MAJOR_VERSION ${LIBNVINFER_MAJOR_VERSION:-6}
ENV CUDA_TOOLKIT_PATH /usr/local/cuda-${CUDA}
ARG TZ=Europe/Berlin
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends apt-utils >/dev/null 2>&1 && \
apt-get install -y --no-install-recommends software-properties-common && \
apt-get update && \
apt-get install -y locales && \
locale-gen en_US.UTF-8 && \
echo $TZ > /etc/timezone && \
apt-get install -y tzdata && \
rm /etc/localtime && \
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata && \
apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
git \
file \
nano \
zip \
unzip \
curl \
wget \
rsync \
&& \
apt-get install -y \
python3-dev \
python3-pip \
python3-venv \
python3-setuptools \
python3-distutils \
&& \
apt-get clean
RUN /bin/bash -c "apt-get update && \
apt-get install -y --no-install-recommends \
cuda-command-line-tools-\${CUDA/./-} \
libcublas10=10.2.1.243-1 \
libcublas-dev=10.2.1.243-1 \
cuda-nvrtc-\${CUDA/./-} \
cuda-nvrtc-dev-\${CUDA/./-} \
cuda-cudart-dev-\${CUDA/./-} \
cuda-cufft-dev-\${CUDA/./-} \
cuda-curand-dev-\${CUDA/./-} \
cuda-cusolver-dev-\${CUDA/./-} \
cuda-cusparse-dev-\${CUDA/./-} \
libcudnn7=\${CUDNN}+cuda\${CUDA} \
libcudnn7-dev=\${CUDNN}+cuda\${CUDA} \
&& \
find /usr/local/cuda-\${CUDA}/lib64/ -type f -name 'lib*_static.a' -not -name 'libcudart_static.a' -delete && \
rm /usr/lib/x86_64-linux-gnu/libcudnn_static_v7.a && \
apt-get install -y --no-install-recommends \
libnvinfer\${LIBNVINFER_MAJOR_VERSION}=\${LIBNVINFER}+cuda\${CUDA} \
libnvinfer-dev=\${LIBNVINFER}+cuda\${CUDA} \
libnvinfer-plugin-dev=\${LIBNVINFER}+cuda\${CUDA} \
libnvinfer-plugin\${LIBNVINFER_MAJOR_VERSION}=\${LIBNVINFER}+cuda\${CUDA}"
RUN apt-get update && \
apt-get install -y \
libglu1-mesa \
libjpeg62 \
liborc-0.4 \
ffmpeg \
&& \
apt-get clean
COPY pip.conf /etc/
ENV PYTHON_VERSION=3.8
ENV PYTHON_PIP_VERSION=20.2.3
ENV PYTHON_SETUPTOOLS_VERSION=50.3.0
RUN apt-get install -y \
python${PYTHON_VERSION} \
python${PYTHON_VERSION}-dev \
python${PYTHON_VERSION}-venv \
&& \
apt-get clean && \
python${PYTHON_VERSION} -m pip install --upgrade \
pip==${PYTHON_PIP_VERSION} \
setuptools==${PYTHON_SETUPTOOLS_VERSION}