Skip to content

Commit 7c50be3

Browse files
authored
Merge pull request #1522 from atheo89/update-konflux-dockerfiles
Update .konflux dockerfiles to comply with ARGs
2 parents c643233 + 3203a22 commit 7c50be3

File tree

18 files changed

+138
-926
lines changed

18 files changed

+138
-926
lines changed

codeserver/ubi9-python-3.12/Dockerfile.konflux.cpu

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1+
#########################
2+
# configuration args #
3+
#########################
4+
ARG BASE_IMAGE
5+
16
####################
2-
# base #
7+
# cpu-base #
38
####################
4-
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
9+
FROM ${BASE_IMAGE} AS cpu-base
510

611
WORKDIR /opt/app-root/bin
712

@@ -34,7 +39,7 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
3439
####################
3540
# codeserver #
3641
####################
37-
FROM base AS codeserver
42+
FROM cpu-base AS codeserver
3843

3944
ARG TARGETOS TARGETARCH
4045

jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
#########################
2+
# configuration args #
3+
#########################
4+
ARG BASE_IMAGE
5+
16
######################################################
27
# mongocli-builder (build stage only, not published) #
38
######################################################
@@ -11,10 +16,10 @@ RUN unzip ./mongodb-cli-mongocli-v${MONGOCLI_VERSION}.zip
1116
RUN cd ./mongodb-cli-mongocli-v${MONGOCLI_VERSION}/ && \
1217
CGO_ENABLED=1 GOOS=linux go build -a -tags strictfipsruntime -o /tmp/mongocli ./cmd/mongocli/
1318

14-
########################
15-
# base #
16-
########################
17-
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
19+
####################
20+
# cpu-base #
21+
####################
22+
FROM ${BASE_IMAGE} AS cpu-base
1823

1924
WORKDIR /opt/app-root/bin
2025

@@ -46,7 +51,7 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
4651
####################
4752
# jupyter-minimal #
4853
####################
49-
FROM base AS jupyter-minimal
54+
FROM cpu-base AS jupyter-minimal
5055

5156
ARG JUPYTER_REUSABLE_UTILS=jupyter/utils
5257
ARG MINIMAL_SOURCE_CODE=jupyter/minimal/ubi9-python-3.12

jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cpu

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
#########################
2+
# configuration args #
3+
#########################
4+
ARG BASE_IMAGE
5+
16
############################
27
# Stage 1: PDF Tool Build #
38
############################
@@ -17,9 +22,9 @@ RUN ./install_texlive.sh
1722
RUN ./install_pandoc.sh
1823

1924
####################
20-
# base #
25+
# cpu-base #
2126
####################
22-
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
27+
FROM ${BASE_IMAGE} AS cpu-base
2328

2429
WORKDIR /opt/app-root/bin
2530

@@ -51,7 +56,7 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
5156
####################
5257
# jupyter-minimal #
5358
####################
54-
FROM base AS jupyter-minimal
59+
FROM cpu-base AS jupyter-minimal
5560

5661
ARG JUPYTER_REUSABLE_UTILS=jupyter/utils
5762
ARG MINIMAL_SOURCE_CODE=jupyter/minimal/ubi9-python-3.12

jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cuda

Lines changed: 7 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1+
#########################
2+
# configuration args #
3+
#########################
4+
ARG BASE_IMAGE
5+
16
####################
2-
# base #
7+
# cuda-base #
38
####################
4-
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
9+
FROM ${BASE_IMAGE} AS cuda-base
510

611
WORKDIR /opt/app-root/bin
712

@@ -30,105 +35,6 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
3035
rm -f /tmp/openshift-client-linux.tar.gz
3136
# Install the oc client end
3237

33-
####################
34-
# cuda-base #
35-
####################
36-
FROM base AS cuda-base-amd64
37-
ENV NVARCH=x86_64
38-
39-
FROM base AS cuda-base-arm64
40-
ENV NVARCH=sbsa
41-
42-
FROM cuda-base-${TARGETARCH} AS cuda-base
43-
44-
ARG TARGETARCH
45-
46-
ARG CUDA_SOURCE_CODE=cuda
47-
48-
# Install CUDA base from:
49-
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/base/Dockerfile
50-
USER 0
51-
WORKDIR /opt/app-root/bin
52-
53-
ENV NVIDIA_REQUIRE_CUDA="cuda>=12.6 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551"
54-
ENV NV_CUDA_CUDART_VERSION=12.6.77-1
55-
56-
COPY ${CUDA_SOURCE_CODE}/cuda.repo-${TARGETARCH} /etc/yum.repos.d/cuda.repo
57-
COPY ${CUDA_SOURCE_CODE}/NGC-DL-CONTAINER-LICENSE /
58-
59-
RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \
60-
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel9/${NVARCH}/D42D0685.pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \
61-
echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict -
62-
63-
ENV CUDA_VERSION=12.6.3
64-
65-
# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a
66-
RUN dnf upgrade -y && dnf install -y \
67-
cuda-cudart-12-6-${NV_CUDA_CUDART_VERSION} \
68-
cuda-compat-12-6 \
69-
&& dnf clean all \
70-
&& rm -rf /var/cache/yum/*
71-
72-
# nvidia-docker 1.0
73-
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
74-
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
75-
76-
ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
77-
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
78-
79-
# nvidia-container-runtime
80-
ENV NVIDIA_VISIBLE_DEVICES=all
81-
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
82-
83-
# Install CUDA runtime from:
84-
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/runtime/Dockerfile
85-
ENV NV_CUDA_LIB_VERSION=12.6.3-1
86-
ENV NV_NVTX_VERSION=12.6.77-1
87-
ENV NV_LIBNPP_VERSION=12.3.1.54-1
88-
ENV NV_LIBNPP_PACKAGE=libnpp-12-6-${NV_LIBNPP_VERSION}
89-
ENV NV_LIBCUBLAS_VERSION=12.6.4.1-1
90-
ENV NV_LIBNCCL_PACKAGE_NAME=libnccl
91-
ENV NV_LIBNCCL_PACKAGE_VERSION=2.23.4-1
92-
ENV NV_LIBNCCL_VERSION=2.23.4
93-
ENV NCCL_VERSION=2.23.4
94-
ENV NV_LIBNCCL_PACKAGE=${NV_LIBNCCL_PACKAGE_NAME}-${NV_LIBNCCL_PACKAGE_VERSION}+cuda12.6
95-
96-
RUN dnf install -y \
97-
cuda-libraries-12-6-${NV_CUDA_LIB_VERSION} \
98-
cuda-nvtx-12-6-${NV_NVTX_VERSION} \
99-
${NV_LIBNPP_PACKAGE} \
100-
libcublas-12-6-${NV_LIBCUBLAS_VERSION} \
101-
${NV_LIBNCCL_PACKAGE} \
102-
&& dnf clean all \
103-
&& rm -rf /var/cache/yum/*
104-
105-
# Install devel tools
106-
107-
RUN dnf install -y \
108-
make \
109-
findutils \
110-
&& dnf clean all \
111-
&& rm -rf /var/cache/yum/*
112-
113-
# Install CUDA cudnn9 from:
114-
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/runtime/cudnn/Dockerfile
115-
ENV NV_CUDNN_VERSION=9.5.1.17-1
116-
ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12-${NV_CUDNN_VERSION}
117-
118-
LABEL com.nvidia.cudnn.version="${NV_CUDNN_VERSION}"
119-
120-
RUN dnf install -y \
121-
${NV_CUDNN_PACKAGE} \
122-
&& dnf clean all \
123-
&& rm -rf /var/cache/yum/*
124-
125-
# Set this flag so that libraries can find the location of CUDA
126-
ENV XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/local/cuda
127-
128-
# Restore notebook user workspace
129-
USER 1001
130-
WORKDIR /opt/app-root/src
131-
13238
#########################
13339
# cuda-jupyter-minimal #
13440
#########################

jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.rocm

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1+
#########################
2+
# configuration args #
3+
#########################
4+
ARG BASE_IMAGE
5+
16
####################
2-
# base #
7+
# rocm-base #
38
####################
4-
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
9+
FROM ${BASE_IMAGE} AS rocm-base
510

611
WORKDIR /opt/app-root/bin
712

@@ -30,40 +35,6 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
3035
rm -f /tmp/openshift-client-linux.tar.gz
3136
# Install the oc client end
3237

33-
########################
34-
# rocm-base #
35-
########################
36-
FROM base AS rocm-base
37-
38-
USER 0
39-
WORKDIR /opt/app-root/bin
40-
41-
# Please keep in sync with ROCm/python3.12 dependent images
42-
ARG ROCM_VERSION=6.2.4
43-
ARG AMDGPU_VERSION=6.2.4
44-
45-
# Install the ROCm rpms
46-
# ref: https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfile-centos-7-complete
47-
# Note: Based on 6.2 above new package mivisionx is a pre-requistes, which bring in more dependent packages
48-
# so we are only installing meta packages of rocm
49-
# ref: https://rocm.docs.amd.com/projects/install-on-linux/en/develop/reference/package-manager-integration.html#packages-in-rocm-programming-models
50-
RUN echo "[ROCm]" > /etc/yum.repos.d/rocm.repo && \
51-
echo "name=ROCm" >> /etc/yum.repos.d/rocm.repo && \
52-
echo "baseurl=https://repo.radeon.com/rocm/rhel9/$ROCM_VERSION/main" >> /etc/yum.repos.d/rocm.repo && \
53-
echo "enabled=1" >> /etc/yum.repos.d/rocm.repo && \
54-
echo "gpgcheck=0" >> /etc/yum.repos.d/rocm.repo && \
55-
echo "[amdgpu]" > /etc/yum.repos.d/amdgpu.repo && \
56-
echo "name=amdgpu" >> /etc/yum.repos.d/amdgpu.repo && \
57-
echo "baseurl=https://repo.radeon.com/amdgpu/$AMDGPU_VERSION/rhel/9.4/main/x86_64" >> /etc/yum.repos.d/amdgpu.repo && \
58-
echo "enabled=1" >> /etc/yum.repos.d/amdgpu.repo && \
59-
echo "gpgcheck=0" >> /etc/yum.repos.d/amdgpu.repo && \
60-
dnf install -y rocm-developer-tools rocm-ml-sdk rocm-opencl-sdk rocm-openmp-sdk rocm-utils && \
61-
dnf clean all && rm -rf /var/cache/yum
62-
63-
# Restore notebook user workspace
64-
USER 1001
65-
WORKDIR /opt/app-root/src
66-
6738
########################
6839
# rocm-jupyter-minimal #
6940
########################

jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.konflux.cuda

Lines changed: 7 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
#########################
2+
# configuration args #
3+
#########################
4+
ARG BASE_IMAGE
5+
16
######################################################
27
# mongocli-builder (build stage only, not published) #
38
######################################################
@@ -12,9 +17,9 @@ RUN cd ./mongodb-cli-mongocli-v${MONGOCLI_VERSION}/ && \
1217
CGO_ENABLED=1 GOOS=linux go build -a -tags strictfipsruntime -o /tmp/mongocli ./cmd/mongocli/
1318

1419
####################
15-
# base #
20+
# cuda-base #
1621
####################
17-
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
22+
FROM ${BASE_IMAGE} AS cuda-base
1823

1924
WORKDIR /opt/app-root/bin
2025

@@ -43,105 +48,6 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
4348
rm -f /tmp/openshift-client-linux.tar.gz
4449
# Install the oc client end
4550

46-
####################
47-
# cuda-base #
48-
####################
49-
FROM base AS cuda-base-amd64
50-
ENV NVARCH=x86_64
51-
52-
FROM base AS cuda-base-arm64
53-
ENV NVARCH=sbsa
54-
55-
FROM cuda-base-${TARGETARCH} AS cuda-base
56-
57-
ARG TARGETARCH
58-
59-
ARG CUDA_SOURCE_CODE=cuda
60-
61-
# Install CUDA base from:
62-
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/base/Dockerfile
63-
USER 0
64-
WORKDIR /opt/app-root/bin
65-
66-
ENV NVIDIA_REQUIRE_CUDA="cuda>=12.6 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551"
67-
ENV NV_CUDA_CUDART_VERSION=12.6.77-1
68-
69-
COPY ${CUDA_SOURCE_CODE}/cuda.repo-${TARGETARCH} /etc/yum.repos.d/cuda.repo
70-
COPY ${CUDA_SOURCE_CODE}/NGC-DL-CONTAINER-LICENSE /
71-
72-
RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \
73-
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel9/${NVARCH}/D42D0685.pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \
74-
echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict -
75-
76-
ENV CUDA_VERSION=12.6.3
77-
78-
# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a
79-
RUN dnf upgrade -y && dnf install -y \
80-
cuda-cudart-12-6-${NV_CUDA_CUDART_VERSION} \
81-
cuda-compat-12-6 \
82-
&& dnf clean all \
83-
&& rm -rf /var/cache/yum/*
84-
85-
# nvidia-docker 1.0
86-
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
87-
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
88-
89-
ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
90-
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
91-
92-
# nvidia-container-runtime
93-
ENV NVIDIA_VISIBLE_DEVICES=all
94-
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
95-
96-
# Install CUDA runtime from:
97-
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/runtime/Dockerfile
98-
ENV NV_CUDA_LIB_VERSION=12.6.3-1
99-
ENV NV_NVTX_VERSION=12.6.77-1
100-
ENV NV_LIBNPP_VERSION=12.3.1.54-1
101-
ENV NV_LIBNPP_PACKAGE=libnpp-12-6-${NV_LIBNPP_VERSION}
102-
ENV NV_LIBCUBLAS_VERSION=12.6.4.1-1
103-
ENV NV_LIBNCCL_PACKAGE_NAME=libnccl
104-
ENV NV_LIBNCCL_PACKAGE_VERSION=2.23.4-1
105-
ENV NV_LIBNCCL_VERSION=2.23.4
106-
ENV NCCL_VERSION=2.23.4
107-
ENV NV_LIBNCCL_PACKAGE=${NV_LIBNCCL_PACKAGE_NAME}-${NV_LIBNCCL_PACKAGE_VERSION}+cuda12.6
108-
109-
RUN dnf install -y \
110-
cuda-libraries-12-6-${NV_CUDA_LIB_VERSION} \
111-
cuda-nvtx-12-6-${NV_NVTX_VERSION} \
112-
${NV_LIBNPP_PACKAGE} \
113-
libcublas-12-6-${NV_LIBCUBLAS_VERSION} \
114-
${NV_LIBNCCL_PACKAGE} \
115-
&& dnf clean all \
116-
&& rm -rf /var/cache/yum/*
117-
118-
# Install devel tools
119-
120-
RUN dnf install -y \
121-
make \
122-
findutils \
123-
&& dnf clean all \
124-
&& rm -rf /var/cache/yum/*
125-
126-
# Install CUDA cudnn9 from:
127-
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/12.6.3/ubi9/runtime/cudnn/Dockerfile
128-
ENV NV_CUDNN_VERSION=9.5.1.17-1
129-
ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12-${NV_CUDNN_VERSION}
130-
131-
LABEL com.nvidia.cudnn.version="${NV_CUDNN_VERSION}"
132-
133-
RUN dnf install -y \
134-
${NV_CUDNN_PACKAGE} \
135-
&& dnf clean all \
136-
&& rm -rf /var/cache/yum/*
137-
138-
# Set this flag so that libraries can find the location of CUDA
139-
ENV XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/local/cuda
140-
141-
# Restore notebook user workspace
142-
USER 1001
143-
WORKDIR /opt/app-root/src
144-
14551
#########################
14652
# cuda-jupyter-minimal #
14753
#########################

0 commit comments

Comments
 (0)