Skip to content

Commit 6912d80

Browse files
committed
add nvidia-driver image
1 parent 54e7dd9 commit 6912d80

File tree

3 files changed

+548
-0
lines changed

3 files changed

+548
-0
lines changed

images/nvidia-driver/Dockerfile

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
FROM nvidia/cuda:11.4.3-base-ubuntu18.04
2+
3+
ENV NVIDIA_VISIBLE_DEVICES=void
4+
5+
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
6+
7+
RUN dpkg --add-architecture i386 && \
8+
apt-get update && apt-get install -y --no-install-recommends \
9+
apt-transport-https \
10+
apt-utils \
11+
bc \
12+
binutils \
13+
build-essential \
14+
ca-certificates \
15+
curl \
16+
gnupg2 \
17+
jq \
18+
kmod \
19+
libc6:i386 \
20+
libelf-dev \
21+
libssl-dev \
22+
module-init-tools \
23+
software-properties-common && \
24+
rm -rf /var/lib/apt/lists/*
25+
26+
RUN echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ bionic main" > /etc/apt/sources.list && \
27+
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ bionic-updates main" >> /etc/apt/sources.list && \
28+
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ bionic-security main" >> /etc/apt/sources.list && \
29+
usermod -o -u 0 -g 0 _apt
30+
31+
RUN curl -fsSL -o /usr/local/bin/donkey https://github.com/3XX0/donkey/releases/download/v1.1.0/donkey && \
32+
curl -fsSL -o /usr/local/bin/extract-vmlinux https://raw.githubusercontent.com/torvalds/linux/master/scripts/extract-vmlinux && \
33+
chmod +x /usr/local/bin/donkey /usr/local/bin/extract-vmlinux
34+
35+
ARG BASE_URL=http://us.download.nvidia.com/XFree86/Linux-x86_64
36+
ARG DRIVER_VERSION=535.154.05
37+
ENV DRIVER_VERSION=$DRIVER_VERSION
38+
ENV DEBIAN_FRONTEND=noninteractive
39+
40+
# Install the userspace components and copy the kernel module sources.
41+
RUN cd /tmp && \
42+
curl -fSsl -O $BASE_URL/$DRIVER_VERSION/NVIDIA-Linux-x86_64-$DRIVER_VERSION.run && \
43+
sh NVIDIA-Linux-x86_64-$DRIVER_VERSION.run -x && \
44+
cd NVIDIA-Linux-x86_64-$DRIVER_VERSION* && \
45+
./nvidia-installer --silent \
46+
--no-kernel-module \
47+
--install-compat32-libs \
48+
--no-nouveau-check \
49+
--no-nvidia-modprobe \
50+
--no-rpms \
51+
--no-backup \
52+
--no-check-for-alternate-installs \
53+
--no-libglx-indirect \
54+
--no-install-libglvnd \
55+
--x-prefix=/tmp/null \
56+
--x-module-path=/tmp/null \
57+
--x-library-path=/tmp/null \
58+
--x-sysconfig-path=/tmp/null && \
59+
mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \
60+
mv LICENSE mkprecompiled kernel /usr/src/nvidia-$DRIVER_VERSION && \
61+
sed '9,${/^\(kernel\|LICENSE\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest && \
62+
rm -rf /tmp/*
63+
64+
COPY nvidia-driver /usr/local/bin
65+
66+
WORKDIR /usr/src/nvidia-$DRIVER_VERSION
67+
68+
ARG PUBLIC_KEY=empty
69+
COPY ${PUBLIC_KEY} kernel/pubkey.x509
70+
71+
# Add NGC DL license from the CUDA image
72+
RUN mkdir /licenses && mv /NGC-DL-CONTAINER-LICENSE /licenses/NGC-DL-CONTAINER-LICENSE
73+
74+
ENTRYPOINT ["nvidia-driver"]

images/nvidia-driver/empty

Whitespace-only changes.

0 commit comments

Comments
 (0)