Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 26 additions & 6 deletions rhel10/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
ARG BASE_IMAGE=registry.access.redhat.com/ubi10/ubi:10.2-1786960026

FROM anchore/syft:v1.42.1 AS syft
FROM ghcr.io/jqlang/jq:1.8.2 AS jq

FROM ${BASE_IMAGE} as build

ARG TARGETARCH
Expand All @@ -22,13 +25,12 @@ ENV PATH /usr/local/go/bin:$PATH

WORKDIR /work

RUN if [ "$DRIVER_TYPE" = "vgpu" ]; then \
git clone https://github.com/NVIDIA/gpu-driver-container driver && \
cd driver/vgpu/src && \
go build -o vgpu-util && \
mv vgpu-util /work; fi
RUN git clone --depth 1 -b dynamic-tpn-generation https://github.com/aryangorwade/gpu-driver-container driver && \
cp driver/scripts/generate-in-image-tpn.sh /work/generate-in-image-tpn.sh && \
if [ "$DRIVER_TYPE" = "vgpu" ]; then \
(cd driver/vgpu/src && go build -o /work/vgpu-util); fi

FROM ${BASE_IMAGE}
FROM ${BASE_IMAGE} AS runtime

ARG TARGETARCH
ENV TARGETARCH=$TARGETARCH
Expand Down Expand Up @@ -116,3 +118,21 @@ RUN if [ -n "${CVE_UPDATES}" ]; then \
RUN rm -f /etc/yum.repos.d/cuda.repo

ENTRYPOINT ["nvidia-driver", "init"]

# Generate third-party notices from the completed runtime filesystem
FROM runtime AS tpn

ARG GOLANG_VERSION

COPY --from=syft /syft /tmp/tpn-tools/syft
COPY --from=jq /jq /tmp/tpn-tools/jq
COPY --from=build /work/generate-in-image-tpn.sh /tmp/generate-in-image-tpn.sh

RUN PATH="/tmp/tpn-tools:${PATH}" \
SYFT=/tmp/tpn-tools/syft \
JQ=/tmp/tpn-tools/jq \
bash /tmp/generate-in-image-tpn.sh /licenses

FROM runtime

COPY --from=tpn /licenses /licenses
24 changes: 23 additions & 1 deletion rhel10/precompiled/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ ARG DRIVER_TOOLKIT_IMAGE
ARG CUDA_VERSION
ARG CUDA_DIST

FROM anchore/syft:v1.42.1 AS syft
FROM ghcr.io/jqlang/jq:1.8.2 AS jq

FROM ${DRIVER_TOOLKIT_IMAGE} as builder

ARG BASE_URL='https://us.download.nvidia.com/tesla'
Expand Down Expand Up @@ -70,7 +73,10 @@ RUN export KVER=$(echo ${KERNEL_VERSION} | cut -d '-' -f 1) \
--define "driver_branch ${DRIVER_STREAM}" \
-v -bb SPECS/kmod-nvidia.spec

FROM nvcr.io/nvidia/cuda:${CUDA_VERSION}-base-${CUDA_DIST}
RUN git clone --depth 1 -b dynamic-tpn-generation https://github.com/aryangorwade/gpu-driver-container gpu-driver-container && \
cp gpu-driver-container/scripts/generate-in-image-tpn.sh /home/builder/generate-in-image-tpn.sh

FROM nvcr.io/nvidia/cuda:${CUDA_VERSION}-base-${CUDA_DIST} AS runtime

ARG BASE_URL='https://us.download.nvidia.com/tesla'

Expand Down Expand Up @@ -205,3 +211,19 @@ RUN mkdir /licenses && mv /NGC-DL-CONTAINER-LICENSE /licenses/NGC-DL-CONTAINER-L
RUN rm -f /etc/yum.repos.d/cuda.repo

ENTRYPOINT ["nvidia-driver", "init"]

# Generate third-party notices from the completed runtime filesystem
FROM runtime AS tpn

COPY --from=syft /syft /tmp/tpn-tools/syft
COPY --from=jq /jq /tmp/tpn-tools/jq
COPY --from=builder /home/builder/generate-in-image-tpn.sh /tmp/generate-in-image-tpn.sh

RUN PATH="/tmp/tpn-tools:${PATH}" \
SYFT=/tmp/tpn-tools/syft \
JQ=/tmp/tpn-tools/jq \
bash /tmp/generate-in-image-tpn.sh /licenses

FROM runtime

COPY --from=tpn /licenses /licenses
33 changes: 27 additions & 6 deletions rhel8/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
ARG BASE_IMAGE=registry.access.redhat.com/ubi8/ubi:8.10-1786654249

FROM anchore/syft:v1.42.1 AS syft
FROM ghcr.io/jqlang/jq:1.8.2 AS jq

FROM ${BASE_IMAGE} as build

ARG TARGETARCH
Expand All @@ -21,13 +25,12 @@ ENV PATH /usr/local/go/bin:$PATH

WORKDIR /work

RUN if [ "$DRIVER_TYPE" = "vgpu" ]; then \
git clone https://github.com/NVIDIA/gpu-driver-container driver && \
cd driver/vgpu/src && \
go build -o vgpu-util && \
mv vgpu-util /work; fi
RUN git clone --depth 1 -b dynamic-tpn-generation https://github.com/aryangorwade/gpu-driver-container driver && \
cp driver/scripts/generate-in-image-tpn.sh /work/generate-in-image-tpn.sh && \
if [ "$DRIVER_TYPE" = "vgpu" ]; then \
(cd driver/vgpu/src && go build -o /work/vgpu-util); fi

FROM ${BASE_IMAGE}
FROM ${BASE_IMAGE} AS runtime

ARG TARGETARCH
ENV TARGETARCH=$TARGETARCH
Expand Down Expand Up @@ -114,3 +117,21 @@ RUN if [ -n "${CVE_UPDATES}" ]; then \
RUN rm -f /etc/yum.repos.d/cuda.repo

ENTRYPOINT ["nvidia-driver", "init"]

# Generate third-party notices from the completed runtime filesystem
FROM runtime AS tpn

ARG GOLANG_VERSION

COPY --from=syft /syft /tmp/tpn-tools/syft
COPY --from=jq /jq /tmp/tpn-tools/jq
COPY --from=build /work/generate-in-image-tpn.sh /tmp/generate-in-image-tpn.sh

RUN PATH="/tmp/tpn-tools:${PATH}" \
SYFT=/tmp/tpn-tools/syft \
JQ=/tmp/tpn-tools/jq \
bash /tmp/generate-in-image-tpn.sh /licenses

FROM runtime

COPY --from=tpn /licenses /licenses
24 changes: 23 additions & 1 deletion rhel8/precompiled/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
ARG DRIVER_TOOLKIT_IMAGE=''
ARG CUDA_DIST=''

FROM anchore/syft:v1.42.1 AS syft
FROM ghcr.io/jqlang/jq:1.8.2 AS jq

FROM ${DRIVER_TOOLKIT_IMAGE} as builder

ARG BASE_URL='https://us.download.nvidia.com/tesla'
Expand Down Expand Up @@ -53,7 +56,10 @@ RUN export KVER=$(echo ${KERNEL_VERSION} | cut -d '-' -f 1) \
--define "driver_branch ${DRIVER_STREAM}" \
-v -bb SPECS/kmod-nvidia.spec

FROM nvcr.io/nvidia/cuda:12.6.2-base-${CUDA_DIST}
RUN git clone --depth 1 -b dynamic-tpn-generation https://github.com/aryangorwade/gpu-driver-container gpu-driver-container && \
cp gpu-driver-container/scripts/generate-in-image-tpn.sh /home/builder/generate-in-image-tpn.sh

FROM nvcr.io/nvidia/cuda:12.6.2-base-${CUDA_DIST} AS runtime

ARG KERNEL_VERSION=''
ARG RHEL_VERSION=''
Expand Down Expand Up @@ -160,3 +166,19 @@ RUN mkdir /licenses && mv /NGC-DL-CONTAINER-LICENSE /licenses/NGC-DL-CONTAINER-L
RUN rm -f /etc/yum.repos.d/cuda.repo

ENTRYPOINT ["nvidia-driver", "init"]

# Generate third-party notices from the completed runtime filesystem
FROM runtime AS tpn

COPY --from=syft /syft /tmp/tpn-tools/syft
COPY --from=jq /jq /tmp/tpn-tools/jq
COPY --from=builder /home/builder/generate-in-image-tpn.sh /tmp/generate-in-image-tpn.sh

RUN PATH="/tmp/tpn-tools:${PATH}" \
SYFT=/tmp/tpn-tools/syft \
JQ=/tmp/tpn-tools/jq \
bash /tmp/generate-in-image-tpn.sh /licenses

FROM runtime

COPY --from=tpn /licenses /licenses
33 changes: 27 additions & 6 deletions rhel9/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.8-1786957459

FROM anchore/syft:v1.42.1 AS syft
FROM ghcr.io/jqlang/jq:1.8.2 AS jq

FROM ${BASE_IMAGE} as build

ARG TARGETARCH
Expand All @@ -21,13 +25,12 @@ ENV PATH /usr/local/go/bin:$PATH

WORKDIR /work

RUN if [ "$DRIVER_TYPE" = "vgpu" ]; then \
git clone https://github.com/NVIDIA/gpu-driver-container driver && \
cd driver/vgpu/src && \
go build -o vgpu-util && \
mv vgpu-util /work; fi
RUN git clone --depth 1 -b dynamic-tpn-generation https://github.com/aryangorwade/gpu-driver-container driver && \
cp driver/scripts/generate-in-image-tpn.sh /work/generate-in-image-tpn.sh && \
if [ "$DRIVER_TYPE" = "vgpu" ]; then \
(cd driver/vgpu/src && go build -o /work/vgpu-util); fi

FROM ${BASE_IMAGE}
FROM ${BASE_IMAGE} AS runtime

ARG TARGETARCH
ENV TARGETARCH=$TARGETARCH
Expand Down Expand Up @@ -115,3 +118,21 @@ RUN if [ -n "${CVE_UPDATES}" ]; then \
RUN rm -f /etc/yum.repos.d/cuda.repo

ENTRYPOINT ["nvidia-driver", "init"]

# Generate third-party notices from the completed runtime filesystem
FROM runtime AS tpn

ARG GOLANG_VERSION

COPY --from=syft /syft /tmp/tpn-tools/syft
COPY --from=jq /jq /tmp/tpn-tools/jq
COPY --from=build /work/generate-in-image-tpn.sh /tmp/generate-in-image-tpn.sh

RUN PATH="/tmp/tpn-tools:${PATH}" \
SYFT=/tmp/tpn-tools/syft \
JQ=/tmp/tpn-tools/jq \
bash /tmp/generate-in-image-tpn.sh /licenses

FROM runtime

COPY --from=tpn /licenses /licenses
24 changes: 23 additions & 1 deletion rhel9/precompiled/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ ARG DRIVER_TOOLKIT_IMAGE
ARG CUDA_VERSION
ARG CUDA_DIST

FROM anchore/syft:v1.42.1 AS syft
FROM ghcr.io/jqlang/jq:1.8.2 AS jq

FROM ${DRIVER_TOOLKIT_IMAGE} as builder

ARG BASE_URL='https://us.download.nvidia.com/tesla'
Expand Down Expand Up @@ -70,7 +73,10 @@ RUN export KVER=$(echo ${KERNEL_VERSION} | cut -d '-' -f 1) \
--define "driver_branch ${DRIVER_STREAM}" \
-v -bb SPECS/kmod-nvidia.spec

FROM nvcr.io/nvidia/cuda:${CUDA_VERSION}-base-${CUDA_DIST}
RUN git clone --depth 1 -b dynamic-tpn-generation https://github.com/aryangorwade/gpu-driver-container gpu-driver-container && \
cp gpu-driver-container/scripts/generate-in-image-tpn.sh /home/builder/generate-in-image-tpn.sh

FROM nvcr.io/nvidia/cuda:${CUDA_VERSION}-base-${CUDA_DIST} AS runtime

ARG BASE_URL='https://us.download.nvidia.com/tesla'

Expand Down Expand Up @@ -205,3 +211,19 @@ RUN mkdir /licenses && mv /NGC-DL-CONTAINER-LICENSE /licenses/NGC-DL-CONTAINER-L
RUN rm -f /etc/yum.repos.d/cuda.repo

ENTRYPOINT ["nvidia-driver", "init"]

# Generate third-party notices from the completed runtime filesystem
FROM runtime AS tpn

COPY --from=syft /syft /tmp/tpn-tools/syft
COPY --from=jq /jq /tmp/tpn-tools/jq
COPY --from=builder /home/builder/generate-in-image-tpn.sh /tmp/generate-in-image-tpn.sh

RUN PATH="/tmp/tpn-tools:${PATH}" \
SYFT=/tmp/tpn-tools/syft \
JQ=/tmp/tpn-tools/jq \
bash /tmp/generate-in-image-tpn.sh /licenses

FROM runtime

COPY --from=tpn /licenses /licenses
Loading