-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-gpu
90 lines (76 loc) · 2.36 KB
/
Dockerfile-gpu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
FROM nvidia/cuda:12.0.0-cudnn8-runtime-rockylinux8
ARG dssVersion=12.5.2
# RUN dnf -y install epel-release
# RUN dnf -y update
# RUN rpm -q epel-release
# RUN yum config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
# RUN dnf -y install kernel-devel
# RUN yum -y install cuda
ENV DSS_VERSION="$dssVersion" \
DSS_DATADIR="/home/dataiku/dss" \
DSS_PORT=10000
# Dataiku account and data dir setup
RUN useradd dataiku \
&& mkdir -p /home/dataiku ${DSS_DATADIR} \
&& chown -Rh dataiku:dataiku /home/dataiku ${DSS_DATADIR}
# System dependencies
RUN yum install -y \
epel-release \
&& yum install -y --enablerepo=powertools \
glibc-langpack-en \
file \
acl \
expat \
git \
nginx \
unzip \
zip \
ncurses-compat-libs \
java-1.8.0-openjdk \
python2 \
python36 \
freetype \
libgfortran \
libgomp \
R-core-devel \
libicu-devel \
libcurl-devel \
openssl-devel \
libxml2-devel \
npm \
gtk3 \
libXScrnSaver \
alsa-lib \
nss \
mesa-libgbm \
libX11-xcb \
python2-devel \
python36-devel \
&& yum clean all
# Download and extract DSS kit
RUN DSSKIT="dataiku-dss-$DSS_VERSION" \
&& cd /home/dataiku \
&& echo "+ Downloading kit" \
&& curl -OsS "https://cdn.downloads.dataiku.com/public/studio/$DSS_VERSION/$DSSKIT.tar.gz" \
&& echo "+ Extracting kit" \
&& tar xf "$DSSKIT.tar.gz" \
&& rm "$DSSKIT.tar.gz" \
&& "$DSSKIT"/scripts/install/installdir-postinstall.sh "$DSSKIT" \
&& (cd "$DSSKIT"/resources/graphics-export && npm install puppeteer@13.7.0 fs) \
&& chown -Rh dataiku:dataiku "$DSSKIT"
# Install required R packages
RUN mkdir -p /usr/local/lib/R/site-library \
&& R --slave --no-restore \
-e "install.packages( \
c('httr', 'RJSONIO', 'dplyr', 'curl', 'IRkernel', 'sparklyr', 'ggplot2', 'gtools', 'tidyr', \
'rmarkdown', 'base64enc', 'filelock'), \
'/usr/local/lib/R/site-library', \
repos='https://cloud.r-project.org')"
# Entry point
WORKDIR /home/dataiku
USER dataiku
COPY run.sh /home/dataiku/
EXPOSE $DSS_PORT
CMD [ "/home/dataiku/run.sh" ]
EXPOSE $DSS_PORT
CMD [ "/home/dataiku/run.sh" ]