1
- # Copyright (c) 2021 Oracle and/or its affiliates.
1
+ # Copyright (c) 2021, 2023 Oracle and/or its affiliates.
2
2
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
3
3
4
4
FROM ghcr.io/oracle/oraclelinux:7-slim
@@ -8,18 +8,21 @@ ENV DATASCIENCE_USER datascience
8
8
ENV DATASCIENCE_UID 1000
9
9
ENV HOME /home/$DATASCIENCE_USER
10
10
ENV DATASCIENCE_INSTALL_DIR /etc/datascience
11
- ENV LOGS_DIRECTORY /logs
11
+
12
+ ARG release=19
13
+ ARG update=13
12
14
13
15
RUN \
14
- yum -y -q install oracle-release-el7 deltarpm && \
16
+ yum -y -q install oracle-release-el7 && \
15
17
yum-config-manager --add-repo http://yum.oracle.com/repo/OracleLinux/OL7/developer_EPEL/x86_64 && \
16
18
yum-config-manager --enable ol7_optional_latest --enable ol7_addons --enable ol7_software_collections --enable ol7_oracle_instantclient > /dev/null && \
17
- yum install -y -q \
18
- build-essential \
19
+ yum groupinstall -y -q 'Development Tools' && \
20
+ yum update -y && \
21
+ yum install -y --setopt=skip_missing_names_on_install=False \
19
22
bzip2 \
20
23
curl \
21
24
git \
22
- gfortran \
25
+ gcc- gfortran \
23
26
libcurl-devel \
24
27
libxml2-devel \
25
28
oracle-instantclient${release}.${update}-basic \
@@ -30,22 +33,20 @@ RUN \
30
33
sudo \
31
34
unzip \
32
35
zip \
33
- g ++ \
36
+ gcc-c ++ \
34
37
wget \
35
38
gcc \
36
- vim \
37
- yum groupinstall -y -q development tools \
38
39
&& yum clean all \
39
40
&& rm -rf /var/cache/yum/*
40
41
41
42
########################### CUDA INSTALLATION ########################################
42
43
43
- #Reference: https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/centos7/ 10.1/runtime/cudnn7/Dockerfile
44
- #Reference: https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/centos7/ 10.1/runtime/Dockerfile
45
- #Reference: https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/centos7/ 10.1/base/Dockerfile
44
+ #Reference: https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/10.1/centos7 /runtime/cudnn7/Dockerfile
45
+ #Reference: https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/10.1/centos7 /runtime/Dockerfile
46
+ #Reference: https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/10.1/centos7 /base/Dockerfile
46
47
47
- RUN NVIDIA_GPGKEY_SUM=d1be581509378368edeec8c1eb2958702feedf3bc3d17011adbf24efacce4ab5 && \
48
- curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/7fa2af80 .pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \
48
+ RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87 && \
49
+ curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/D42D0685 .pub | sed '/^Version/d' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \
49
50
echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict -
50
51
51
52
COPY docker/cuda.repo /etc/yum.repos.d/cuda.repo
@@ -66,7 +67,7 @@ RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
66
67
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
67
68
68
69
ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
69
- ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64
70
+ ENV LD_LIBRARY_PATH /lib64:/ usr/local/nvidia/lib:/usr/local/nvidia/lib64
70
71
71
72
# nvidia-container-runtime
72
73
ENV NVIDIA_VISIBLE_DEVICES all
@@ -83,19 +84,14 @@ RUN CUDNN_DOWNLOAD_SUM=7eaec8039a2c30ab0bc758d303588767693def6bf49b22485a2c00bf2
83
84
rm cudnn-10.1-linux-x64-v7.6.5.32.tgz && \
84
85
ldconfig
85
86
86
-
87
87
# setup user
88
88
RUN \
89
89
mkdir -p /home/$DATASCIENCE_USER && \
90
90
useradd -m -s /bin/bash -N -u $DATASCIENCE_UID $DATASCIENCE_USER && \
91
91
chown -R $DATASCIENCE_USER /home/$DATASCIENCE_USER && \
92
92
chown -R $DATASCIENCE_USER:users /usr/local/ && \
93
93
touch /etc/sudoers.d/$DATASCIENCE_USER && echo "$DATASCIENCE_USER ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers.d/$DATASCIENCE_USER && \
94
- mkdir -p $DATASCIENCE_INSTALL_DIR && chown $DATASCIENCE_USER $DATASCIENCE_INSTALL_DIR && \
95
- mkdir -p $LOGS_DIRECTORY && chown -R $DATASCIENCE_USER:users $LOGS_DIRECTORY && \
96
- mkdir -p $LOGS_DIRECTORY/harness && chown -R $DATASCIENCE_USER:users $LOGS_DIRECTORY/harness
97
- # mkdir -p /home/$DATASCIENCE_USER/condapack
98
-
94
+ mkdir -p $DATASCIENCE_INSTALL_DIR && chown $DATASCIENCE_USER $DATASCIENCE_INSTALL_DIR
99
95
100
96
RUN mkdir -p /etc/datascience/build
101
97
RUN mkdir -p $DATASCIENCE_INSTALL_DIR/{pre-build-ds,post-build-ds,pre-run-ds,pre-run-user}
@@ -107,15 +103,13 @@ ENV LANG=$LANG
107
103
ENV SHELL=/bin/bash
108
104
109
105
# set /opt folder permissions for $DATASCIENCE_USER. Conda is going to live in this folder.
110
- RUN chown $DATASCIENCE_USER /opt
106
+ RUN chown -R $DATASCIENCE_USER /opt
111
107
112
108
USER $DATASCIENCE_USER
113
109
WORKDIR /home/datascience
114
- RUN curl -L https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh >> /home/datascience/miniconda.sh \
110
+ RUN wget -nv https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /home/datascience/miniconda.sh \
115
111
&& /bin/bash /home/datascience/miniconda.sh -f -b -p /opt/conda \
116
112
&& rm /home/datascience/miniconda.sh \
117
- && ls /opt/**/* \
118
- && /opt/conda/bin/conda install python=3.8 anaconda \
119
113
&& /opt/conda/bin/conda clean -yaf
120
114
121
115
WORKDIR /
@@ -127,10 +121,8 @@ USER $DATASCIENCE_USER
127
121
ENV PATH="/opt/conda/bin:${PATH}"
128
122
WORKDIR /home/datascience
129
123
130
-
131
- #COPY base-env.yaml /opt/base-env.yaml
132
- #RUN conda env update -q -n root -f /opt/base-env.yaml && conda clean -yaf && rm -rf /home/datascience/.cache/pip
133
-
124
+ COPY docker/base-env.yaml /opt/base-env.yaml
125
+ RUN conda env update -q -n root -f /opt/base-env.yaml && conda clean -yaf && rm -rf /home/datascience/.cache/pip
134
126
135
127
USER $DATASCIENCE_USER
136
128
@@ -142,20 +134,43 @@ RUN conda list
142
134
143
135
USER root
144
136
137
+ ARG PIP_INDEX_URL
138
+
145
139
############# Setup Conda environment tools ###########################
146
140
ARG RAND=1
147
141
148
- RUN pip install conda_pack oci-cli
149
-
150
142
ARG RUN_WORKING_DIR="/home/datascience"
151
143
WORKDIR $RUN_WORKING_DIR
152
144
145
+ RUN ln -s /opt/conda/lib/libnvrtc.so.10.0.130 /opt/conda/lib/libnvrtc.so.10 && \
146
+ ln -s /opt/conda/lib/libnvrtc-builtins.so.10.0.130 /opt/conda/lib/libnvrtc-builtins.so.10 && \
147
+ ln -s /opt/conda/lib/libnvgraph.so.10.0.130 /opt/conda/lib/libnvgraph.so.10 && \
148
+ ln -s /opt/conda/lib/libnvblas.so.10.0.130 /opt/conda/lib/libnvblas.so.10 && \
149
+ ln -s /opt/conda/lib/libnpps.so.10.0.130 /opt/conda/lib/libnpps.so.10 && \
150
+ ln -s /opt/conda/lib/libnppitc.so.10.0.130 /opt/conda/lib/libnppitc.so.10 && \
151
+ ln -s /opt/conda/lib/libnppisu.so.10.0.130 /opt/conda/lib/libnppisu.so.10 && \
152
+ ln -s /opt/conda/lib/libnppist.so.10.0.130 /opt/conda/lib/libnppist.so.10 && \
153
+ ln -s /opt/conda/lib/libnppim.so.10.0.130 /opt/conda/lib/libnppim.so.10 && \
154
+ ln -s /opt/conda/lib/libnppig.so.10.0.130 /opt/conda/lib/libnppig.so.10 && \
155
+ ln -s /opt/conda/lib/libnppif.so.10.0.130 /opt/conda/lib/libnppif.so.10 && \
156
+ ln -s /opt/conda/lib/libnppidei.so.10.0.130 /opt/conda/lib/libnppidei.so.10 && \
157
+ ln -s /opt/conda/lib/libnppicom.so.10.0.130 /opt/conda/lib/libnppicom.so.10 && \
158
+ ln -s /opt/conda/lib/libnppicc.so.10.0.130 /opt/conda/lib/libnppicc.so.10 && \
159
+ ln -s /opt/conda/lib/libnppial.so.10.0.130 /opt/conda/lib/libnppial.so.10 && \
160
+ ln -s /opt/conda/lib/libnppc.so.10.0.130 /opt/conda/lib/libnppc.so.10 && \
161
+ ln -s /opt/conda/lib/libcusparse.so.10.0.130 /opt/conda/lib/libcusparse.so.10 && \
162
+ ln -s /opt/conda/lib/libcusolver.so.10.0.130 /opt/conda/lib/libcusolver.so.10 && \
163
+ ln -s /opt/conda/lib/libcurand.so.10.0.130 /opt/conda/lib/libcurand.so.10 && \
164
+ ln -s /opt/conda/lib/libcufftw.so.10.0.145 /opt/conda/lib/libcufftw.so.10 && \
165
+ ln -s /opt/conda/lib/libcufft.so.10.0.145 /opt/conda/lib/libcufft.so.10 && \
166
+ ln -s /opt/conda/lib/libcudart.so.10.0.130 /opt/conda/lib/libcudart.so.10 && \
167
+ ln -s /opt/conda/lib/libcublas.so.10.0.130 /opt/conda/lib/libcublas.so.10
168
+
169
+ ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/opt/conda/lib
170
+
153
171
# clean tmp folder
154
172
RUN rm -rf /tmp/*
155
173
156
- #COPY harness.py /etc/datascience/harness.py
157
174
RUN mkdir -p /etc/datascience/operators
158
- # Temporarily removing operators related components
159
- # COPY operators/run.py /etc/datascience/operators/run.py
160
175
161
176
USER datascience
0 commit comments