Updated Dockerfile.

This commit is contained in:
Gerd Heber 2016-02-25 15:31:00 -06:00
parent e78bfccbfc
commit deec89e811

View File

@ -1,23 +1,33 @@
FROM sergiobuj/cl-jupyter
FROM jupyter/notebook:stable
MAINTAINER gheber <gheber@hdfgroup.org>
RUN apt-get update
RUN apt-get -y install wget
RUN wget https://github.com/gheber/kenzo/archive/master.zip
RUN unzip master.zip -d /root/quicklisp/local-projects && rm master.zip
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install wget unzip
# SBCL
RUN wget -nv http://downloads.sourceforge.net/project/sbcl/sbcl/1.3.2/sbcl-1.3.2-x86-64-linux-binary.tar.bz2 && tar -jxvf sbcl-1.3.2-x86-64-linux-binary.tar.bz2 && cd sbcl-1.3.2-x86-64-linux && sh install.sh
# Quicklisp
RUN wget -nv https://beta.quicklisp.org/quicklisp.lisp && sbcl --load quicklisp.lisp --non-interactive --eval "(quicklisp-quickstart:install)"
RUN echo '#-quicklisp' >> /root/.sbclrc
RUN echo '(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"' >> /root/.sbclrc
RUN echo ' (user-homedir-pathname))))' >> /root/.sbclrc
RUN echo ' (when (probe-file quicklisp-init)' >> /root/.sbclrc
RUN echo ' (load quicklisp-init)))' >> /root/.sbclrc
RUN echo '(push #p"/workspace/" asdf:*central-registry*)' >> /root/.sbclrc
# cl-jupyter
RUN wget -nv https://github.com/fredokun/cl-jupyter/archive/master.zip && unzip master.zip && mv cl-jupyter-master /root && python3 /root/cl-jupyter-master/install-cl-jupyter.py && sbcl --load /root/cl-jupyter-master/cl-jupyter.lisp --non-interactive
# Kenzo
RUN wget https://github.com/gheber/kenzo/archive/master.zip && unzip master.zip -d /root/quicklisp/local-projects && rm master.zip
RUN mv /root/quicklisp/local-projects/kenzo-master /root/quicklisp/local-projects/kenzo
RUN cp /root/quicklisp/local-projects/kenzo/examples/*.ipynb /notebooks/
RUN cp /root/quicklisp/local-projects/kenzo/examples/*.png /notebooks/
# Install Kenzo
RUN sbcl --eval "(ql:quickload :kenzo)"
# Add Tini. Tini operates as a process subreaper for jupyter. This prevents
# kernel crashes.
ENV TINI_VERSION v0.6.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
RUN chmod +x /usr/bin/tini
ENTRYPOINT ["/usr/bin/tini", "--"]
EXPOSE 8888
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0"]