Sign inSign up

mrocklin/dask-play

By mrocklin

Updated about 9 years ago

Image
0

196

mrocklin/dask-play repository overview

FROM ubuntu:16.04
MAINTAINER Martin Durant <[email protected]>

RUN apt-get update -yqq && apt-get install -yqq bzip2 git wget graphviz && rm -rf /var/lib/apt/lists/*

# Configure environment
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

RUN mkdir -p /work/bin

# Install Python 3 from miniconda
ADD https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh miniconda.sh
RUN bash miniconda.sh -b -p /work/miniconda && rm miniconda.sh

# keep conda in user dir, so can do conda install in notebook
ENV PATH="/work/bin:/work/miniconda/bin:$PATH"

# Install pydata stack
RUN conda config --set always_yes yes --set changeps1 no --set auto_update_conda no
RUN conda install -c conda-forge notebook ipywidgets psutil numpy scipy pandas bokeh scikit-learn statsmodels pip  numba scikit-image datashader holoviews nomkl matplotlib lz4 tornado
RUN conda install -c conda-forge fastparquet s3fs zict python-blosc cytoolz dask distributed jupyter_dashboards    jupyterlab dask-searchcv geopandas
RUN conda install -c conda-forge nodejs
RUN conda clean -tipsy
RUN jupyter nbextension enable jupyter_dashboards --py --sys-prefix
RUN jupyter labextension install jupyterlab_bokeh
RUN jupyter labextension install @jupyter-widgets/jupyterlab-manager
RUN pip install git+https://github.com/martindurant/gcsfs.git
RUN pip install git+https://github.com/dask/dask-glm.git
RUN pip install graphviz

# Optional: Install the master branch of distributed and dask
#RUN pip install git+https://github.com/dask/dask --upgrade --no-deps
#RUN pip install git+https://github.com/dask/distributed --upgrade --no-deps

# 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.5.4/bin/linux/amd64/kubectl /usr/sbin/kubectl
RUN chmod +x /usr/bin/tini && chmod 0500 /usr/sbin/kubectl

# Add local files at the end of the Dockerfile to limit cache busting
COPY config /work/config
COPY examples /work/examples
ENTRYPOINT ["/usr/bin/tini", "--"]

# 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

Tag summary

Content type

Image

Digest

Size

2.4 GB

Last updated

about 9 years ago

docker pull mrocklin/dask-play