Run jupyter notebook using docker
How to create an opinionated stack using docker for jupyter-notebook
- Create a
Dockerfile
for setting up the environment
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
# Base image of pyspark-notebook hosted on docker hub
FROM jupyter/pyspark-notebook
MAINTAINER Jupyter Project <jupyter@googlegroups.com>
USER root
# RSpark config
ENV R_LIBS_USER $SPARK_HOME/R/lib
# R pre-requisites
RUN apt-get update && \
apt-get install -y --no-install-recommends \
fonts-dejavu \
gfortran \
gcc && apt-get clean && \
rm -rf /var/lib/apt/lists/*
USER $NB_USER
# R packages
RUN conda config --system --add channels r && \
conda install --quiet --yes \
'r-base=3.3.2' \
'r-irkernel=0.7*' \
'r-ggplot2=2.2*' \
'r-rcurl=1.95*' && conda clean -tipsy
# Apache Toree kernel
RUN pip --no-cache-dir install https://dist.apache.org/repos/dist/dev/incubator/toree/0.2.0/snapshots/dev1/toree-pip/toree-0.2.0.dev1.tar.gz
RUN jupyter toree install --sys-prefix
# Spylon-kernel
RUN conda install --quiet --yes 'spylon-kernel=0.2*' && \
conda clean -tipsy
RUN python -m spylon_kernel install --sys-prefix
- Create a
docker-compose.yml
file to define services
version: '2'
services:
jupyter:
build:
context: .
command: jupyter-notebook
ports:
- 8888:8888
volumes:
- .:/home/jovyan
- Build image locally ( This will create a local image by pulling base image and other dependencies defined in
Dockerfile
)
Note: This will take a while since the dependant image from docker hub has to be pulled(downloaded and extracted) and build locally
docker-compose build jupyter
docker-compose run jupyter bash
This is the path given in docker-compose.yml
- Run jupyter service to opena jupyter notebook running on docker
docker-compose up jupyter
Credits: Jupyter @Github
Written on June 20, 2017