mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-14 13:33:00 +00:00
Merge pull request #521 from minrk/docker-onbuild
Move docker onbuild step to jupyterhub-onbuild
This commit is contained in:
41
Dockerfile
41
Dockerfile
@@ -1,12 +1,27 @@
|
|||||||
# A base docker image that includes juptyerhub and IPython master
|
# An incomplete base Docker image for running JupyterHub
|
||||||
#
|
#
|
||||||
# Build your own derivative images starting with
|
# Add your configuration to create a complete derivative Docker image.
|
||||||
#
|
#
|
||||||
# FROM jupyter/jupyterhub:latest
|
# Include your configuration settings by starting with one of two options:
|
||||||
#
|
#
|
||||||
|
# Option 1:
|
||||||
|
#
|
||||||
|
# FROM jupyterhub/jupyterhub:latest
|
||||||
|
#
|
||||||
|
# And put your configuration file jupyterhub_config.py in /srv/jupyterhub/jupyterhub_config.py.
|
||||||
|
#
|
||||||
|
# Option 2:
|
||||||
|
#
|
||||||
|
# Or you can create your jupyterhub config and database on the host machine, and mount it with:
|
||||||
|
#
|
||||||
|
# docker run -v $PWD:/srv/jupyterhub -t jupyterhub/jupyterhub
|
||||||
|
#
|
||||||
|
# NOTE
|
||||||
|
# If you base on jupyterhub/jupyterhub-onbuild
|
||||||
|
# your jupyterhub_config.py will be added automatically
|
||||||
|
# from your docker directory.
|
||||||
|
|
||||||
FROM debian:jessie
|
FROM debian:jessie
|
||||||
|
|
||||||
MAINTAINER Jupyter Project <jupyter@googlegroups.com>
|
MAINTAINER Jupyter Project <jupyter@googlegroups.com>
|
||||||
|
|
||||||
# install nodejs, utf8 locale
|
# install nodejs, utf8 locale
|
||||||
@@ -22,7 +37,8 @@ RUN apt-get -y update && \
|
|||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
|
|
||||||
# install Python with conda
|
# install Python with conda
|
||||||
RUN wget -q https://repo.continuum.io/miniconda/Miniconda3-3.9.1-Linux-x86_64.sh -O /tmp/miniconda.sh && \
|
RUN wget -q https://repo.continuum.io/miniconda/Miniconda3-4.0.5-Linux-x86_64.sh -O /tmp/miniconda.sh && \
|
||||||
|
echo 'a7bcd0425d8b6688753946b59681572f63c2241aed77bf0ec6de4c5edc5ceeac */tmp/miniconda.sh' | shasum -a 256 -c - && \
|
||||||
bash /tmp/miniconda.sh -f -b -p /opt/conda && \
|
bash /tmp/miniconda.sh -f -b -p /opt/conda && \
|
||||||
/opt/conda/bin/conda install --yes python=3.5 sqlalchemy tornado jinja2 traitlets requests pip && \
|
/opt/conda/bin/conda install --yes python=3.5 sqlalchemy tornado jinja2 traitlets requests pip && \
|
||||||
/opt/conda/bin/pip install --upgrade pip && \
|
/opt/conda/bin/pip install --upgrade pip && \
|
||||||
@@ -32,21 +48,16 @@ ENV PATH=/opt/conda/bin:$PATH
|
|||||||
# install js dependencies
|
# install js dependencies
|
||||||
RUN npm install -g configurable-http-proxy && rm -rf ~/.npm
|
RUN npm install -g configurable-http-proxy && rm -rf ~/.npm
|
||||||
|
|
||||||
WORKDIR /srv/
|
ADD . /src/jupyterhub
|
||||||
ADD . /srv/jupyterhub
|
WORKDIR /src/jupyterhub
|
||||||
WORKDIR /srv/jupyterhub/
|
|
||||||
|
|
||||||
RUN python setup.py js && pip install . && \
|
RUN python setup.py js && pip install . && \
|
||||||
rm -rf node_modules ~/.cache ~/.npm
|
rm -rf $PWD ~/.cache ~/.npm
|
||||||
|
|
||||||
|
RUN mkdir -p /srv/jupyterhub/
|
||||||
WORKDIR /srv/jupyterhub/
|
WORKDIR /srv/jupyterhub/
|
||||||
|
|
||||||
# Derivative containers should add jupyterhub config,
|
|
||||||
# which will be used when starting the application.
|
|
||||||
|
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
LABEL org.jupyter.service="jupyterhub"
|
LABEL org.jupyter.service="jupyterhub"
|
||||||
|
|
||||||
ONBUILD ADD jupyterhub_config.py /srv/jupyterhub/jupyterhub_config.py
|
CMD ["jupyterhub"]
|
||||||
CMD ["jupyterhub", "-f", "/srv/jupyterhub/jupyterhub_config.py"]
|
|
||||||
|
@@ -4,7 +4,9 @@ include setupegg.py
|
|||||||
include bower.json
|
include bower.json
|
||||||
include package.json
|
include package.json
|
||||||
include *requirements.txt
|
include *requirements.txt
|
||||||
|
include Dockerfile
|
||||||
|
|
||||||
|
graft onbuild
|
||||||
graft jupyterhub
|
graft jupyterhub
|
||||||
graft scripts
|
graft scripts
|
||||||
graft share
|
graft share
|
||||||
|
10
circle.yml
10
circle.yml
@@ -8,4 +8,12 @@ dependencies:
|
|||||||
|
|
||||||
test:
|
test:
|
||||||
override:
|
override:
|
||||||
- docker build -t jupyter/jupyterhub .
|
- docker build -t jupyterhub/jupyterhub .
|
||||||
|
- docker build -t jupyterhub/jupyterhub-onbuild:${CIRCLE_TAG:-latest} onbuild
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
hub:
|
||||||
|
branch: master
|
||||||
|
commands:
|
||||||
|
- docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||||
|
- docker push jupyterhub/jupyterhub-onbuild:${CIRCLE_TAG:-latest}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM jupyter/jupyterhub
|
FROM jupyter/jupyterhub-onbuild
|
||||||
|
|
||||||
MAINTAINER Jupyter Project <jupyter@googlegroups.com>
|
MAINTAINER Jupyter Project <jupyter@googlegroups.com>
|
||||||
|
|
||||||
|
11
onbuild/Dockerfile
Normal file
11
onbuild/Dockerfile
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# JupyterHub Dockerfile that loads your jupyterhub_config.py
|
||||||
|
#
|
||||||
|
# Adds ONBUILD step to jupyter/jupyterhub to load your juptyerhub_config.py into the image
|
||||||
|
#
|
||||||
|
# Derivative images must have jupyterhub_config.py next to the Dockerfile.
|
||||||
|
|
||||||
|
FROM jupyterhub/jupyterhub
|
||||||
|
|
||||||
|
ONBUILD ADD jupyterhub_config.py /srv/jupyterhub/jupyterhub_config.py
|
||||||
|
|
||||||
|
CMD ["jupyterhub", "-f", "/srv/jupyterhub/jupyterhub_config.py"]
|
10
onbuild/README.md
Normal file
10
onbuild/README.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# JupyterHub onbuild image
|
||||||
|
|
||||||
|
If you base a Dockerfile on this image:
|
||||||
|
|
||||||
|
FROM juptyerhub/jupyterhub-onbuild:0.6
|
||||||
|
...
|
||||||
|
|
||||||
|
then your `jupyterhub_config.py` adjacent to your Dockerfile will be loaded into the image and used by JupyterHub.
|
||||||
|
|
||||||
|
This is how the `jupyter/jupyterhub` docker image behaved prior to 0.6.
|
Reference in New Issue
Block a user