-
Notifications
You must be signed in to change notification settings - Fork 7
/
Dockerfile
76 lines (66 loc) · 1.59 KB
/
Dockerfile
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
FROM ubuntu:18.04
MAINTAINER Lihan Li <[email protected]>
# Configure environment
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
# Install Tini that necessary to properly run the notebook service in docker
# http://jupyter-notebook.readthedocs.org/en/latest/public_server.html#docker-cmd
ENV TINI_VERSION v0.9.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
# for further interaction with kubernetes
ADD https://storage.googleapis.com/kubernetes-release/release/v1.10.3/bin/linux/amd64/kubectl /usr/sbin/kubectl
RUN chmod +x /usr/bin/tini && chmod 0500 /usr/sbin/kubectl
# Create a non-priviledge user that will run the client and workers
ENV BASICUSER basicuser
ENV BASICUSER_UID 1000
RUN useradd -m -d /work -s /bin/bash -N -u $BASICUSER_UID $BASICUSER \
&& chown $BASICUSER /work \
&& chown $BASICUSER:users -R /work
RUN apt-get update -y && \
apt-get install -y \
bzip2 \
git \
wget \
graphviz \
vim \
python3-pip \
python3-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install --no-cache-dir \
jupyter \
jupyterlab \
jupyter_dashboards \
ipywidgets \
google-cloud==0.32.0 \
numpy \
pandas \
dask[complete] \
dask-kubernetes \
distributed \
dask-searchcv \
lightgbm \
xgboost \
plotly \
seaborn \
bokeh \
psutil \
holoviews \
tensorflow \
keras \
chainer \
graphviz \
gcsfs \
s3fs \
jgscm \
imbalanced-learn \
deap \
update_checker \
tqdm \
stopit \
tpot \
pyarrow \
dask-xgboost \
fastparquet \
cufflinks
COPY config /work/config
ENTRYPOINT ["/usr/bin/tini", "--"]