Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
J
Jupyter Docker Stacks
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
Jupyter Docker Stacks
Commits
9c973761
Commit
9c973761
authored
Sep 26, 2020
by
Romain
Committed by
GitHub
Sep 26, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1159 from romainx/stack_update
Stack update
parents
dc62000e
325dd5b3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
52 additions
and
34 deletions
+52
-34
base-notebook/Dockerfile
base-notebook/Dockerfile
+19
-8
datascience-notebook/Dockerfile
datascience-notebook/Dockerfile
+17
-9
pyspark-notebook/Dockerfile
pyspark-notebook/Dockerfile
+3
-2
r-notebook/Dockerfile
r-notebook/Dockerfile
+5
-5
scipy-notebook/Dockerfile
scipy-notebook/Dockerfile
+7
-9
tensorflow-notebook/Dockerfile
tensorflow-notebook/Dockerfile
+1
-1
No files found.
base-notebook/Dockerfile
View file @
9c973761
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
# Ubuntu 20.04 (focal)
# Ubuntu 20.04 (focal)
# https://hub.docker.com/_/ubuntu/?tab=tags&name=focal
# https://hub.docker.com/_/ubuntu/?tab=tags&name=focal
# OS/ARCH: linux/amd64
# OS/ARCH: linux/amd64
ARG
ROOT_CONTAINER=ubuntu:focal-20200
703@sha256:d5a6519d9f048100123c568eb83f7ef5bfcad69b01424f420f17c932b00dea76
ARG
ROOT_CONTAINER=ubuntu:focal-20200
916@sha256:028d7303257c7f36c721b40099bf5004a41f666a54c0896d5f229f1c0fd99993
ARG
BASE_CONTAINER=$ROOT_CONTAINER
ARG
BASE_CONTAINER=$ROOT_CONTAINER
FROM
$BASE_CONTAINER
FROM
$BASE_CONTAINER
...
@@ -19,6 +19,17 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
...
@@ -19,6 +19,17 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
USER
root
USER
root
# Miniconda installation
# Default values can be overridden at build time
# (ARGS are in lower case to distinguish them from ENV)
# Check https://repo.anaconda.com/miniconda/
# Miniconda archive to install
ARG
miniconda_version="4.8.3"
# Archive MD5 checksum
ARG
miniconda_checksum="d63adf39f2c220950a063e0529d4ff74"
# Conda version that can be different from the archive
ARG
conda_version="4.8.5"
# Install all OS dependencies for notebook server that starts but lacks all
# Install all OS dependencies for notebook server that starts but lacks all
# features (e.g., download as all possible file formats)
# features (e.g., download as all possible file formats)
ENV
DEBIAN_FRONTEND noninteractive
ENV
DEBIAN_FRONTEND noninteractive
...
@@ -76,15 +87,15 @@ RUN mkdir /home/$NB_USER/work && \
...
@@ -76,15 +87,15 @@ RUN mkdir /home/$NB_USER/work && \
fix-permissions /home/
$NB_USER
fix-permissions /home/
$NB_USER
# Install conda as jovyan and check the md5 sum provided on the download site
# Install conda as jovyan and check the md5 sum provided on the download site
ENV
MINICONDA_VERSION=4.8.3 \
ENV
MINICONDA_VERSION="${miniconda_version}" \
MINICONDA_MD5=d63adf39f2c220950a063e0529d4ff74 \
CONDA_VERSION="${conda_version}"
CONDA_VERSION=4.8.3
WORKDIR
/tmp
WORKDIR
/tmp
RUN
wget
--quiet
https://repo.continuum.io/miniconda/Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64
.sh
&&
\
RUN
wget
--quiet
https://repo.continuum.io/miniconda/Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64
.sh
&&
\
echo
"
${
MINICONDA_MD5
}
*Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64.sh"
|
md5sum
-c
-
&&
\
echo
"
${
miniconda_checksum
}
*Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64.sh"
|
md5sum
-c
-
&&
\
/bin/bash Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64
.sh
-f
-b
-p
$CONDA_DIR
&&
\
/bin/bash Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64
.sh
-f
-b
-p
$CONDA_DIR
&&
\
rm
Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64
.sh
&&
\
rm
Miniconda3-py38_
${
MINICONDA_VERSION
}
-Linux-x86_64
.sh
&&
\
# Conda configuration see https://conda.io/projects/conda/en/latest/configuration.html
echo "conda ${CONDA_VERSION}" >> $CONDA_DIR/conda-meta/pinned && \
echo "conda ${CONDA_VERSION}" >> $CONDA_DIR/conda-meta/pinned && \
conda config --system --prepend channels conda-forge && \
conda config --system --prepend channels conda-forge && \
conda config --system --set auto_update_conda false && \
conda config --system --set auto_update_conda false && \
...
@@ -92,7 +103,7 @@ RUN wget --quiet https://repo.continuum.io/miniconda/Miniconda3-py38_${MINICONDA
...
@@ -92,7 +103,7 @@ RUN wget --quiet https://repo.continuum.io/miniconda/Miniconda3-py38_${MINICONDA
conda config --system --set channel_priority strict && \
conda config --system --set channel_priority strict && \
if [ ! $PYTHON_VERSION = 'default' ]; then conda install --yes python=$PYTHON_VERSION; fi && \
if [ ! $PYTHON_VERSION = 'default' ]; then conda install --yes python=$PYTHON_VERSION; fi && \
conda list python | grep '^python ' | tr -s ' ' | cut -d '.' -f 1,2 | sed 's/$/.*/' >> $CONDA_DIR/conda-meta/pinned && \
conda list python | grep '^python ' | tr -s ' ' | cut -d '.' -f 1,2 | sed 's/$/.*/' >> $CONDA_DIR/conda-meta/pinned && \
conda
install
--quiet
--yes
conda
&&
\
conda install --quiet --yes
"conda=${CONDA_VERSION}"
&& \
conda install --quiet --yes pip && \
conda install --quiet --yes pip && \
conda update --all --quiet --yes && \
conda update --all --quiet --yes && \
conda clean --all -f -y && \
conda clean --all -f -y && \
...
@@ -114,9 +125,9 @@ RUN conda install --quiet --yes 'tini=0.18.0' && \
...
@@ -114,9 +125,9 @@ RUN conda install --quiet --yes 'tini=0.18.0' && \
# Do all this in a single RUN command to avoid duplicating all of the
# Do all this in a single RUN command to avoid duplicating all of the
# files across image layers when the permissions change
# files across image layers when the permissions change
RUN
conda
install
--quiet
--yes
\
RUN
conda
install
--quiet
--yes
\
'notebook=6.1.
3
'
\
'notebook=6.1.
4
'
\
'jupyterhub=1.1.0'
\
'jupyterhub=1.1.0'
\
'jupyterlab=2.2.
5
'
&&
\
'jupyterlab=2.2.
8
'
&&
\
conda clean
--all
-f
-y
&&
\
conda clean
--all
-f
-y
&&
\
npm cache clean
--force
&&
\
npm cache clean
--force
&&
\
jupyter notebook
--generate-config
&&
\
jupyter notebook
--generate-config
&&
\
...
...
datascience-notebook/Dockerfile
View file @
9c973761
...
@@ -14,6 +14,14 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
...
@@ -14,6 +14,14 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
USER
root
USER
root
# Julia installation
# Default values can be overridden at build time
# (ARGS are in lower case to distinguish them from ENV)
# Check https://julialang.org/downloads/
ARG
julia_version="1.5.1"
# SHA256 checksum
ARG
julia_checksum="f5d37cb7fe40e3a730f721da8f7be40310f133220220949939d8f892ce2e86e3"
# R pre-requisites
# R pre-requisites
RUN
apt-get update
&&
\
RUN
apt-get update
&&
\
apt-get
install
-y
--no-install-recommends
\
apt-get
install
-y
--no-install-recommends
\
...
@@ -24,16 +32,16 @@ RUN apt-get update && \
...
@@ -24,16 +32,16 @@ RUN apt-get update && \
# Julia dependencies
# Julia dependencies
# install Julia packages in /opt/julia instead of $HOME
# install Julia packages in /opt/julia instead of $HOME
ENV
JULIA_DEPOT_PATH=/opt/julia
ENV
JULIA_DEPOT_PATH=/opt/julia
\
ENV
JULIA_PKGDIR=/opt/julia
JULIA_PKGDIR=/opt/julia \
ENV
JULIA_VERSION=1.5.0
JULIA_VERSION="${julia_version}"
WORKDIR
/tmp
WORKDIR
/tmp
# hadolint ignore=SC2046
# hadolint ignore=SC2046
RUN
mkdir
"/opt/julia-
${
JULIA_VERSION
}
"
&&
\
RUN
mkdir
"/opt/julia-
${
JULIA_VERSION
}
"
&&
\
wget
-q
https://julialang-s3.julialang.org/bin/linux/x64/
$(
echo
"
${
JULIA_VERSION
}
"
|
cut
-d
.
-f
1,2
)
"/julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
&&
\
wget
-q
https://julialang-s3.julialang.org/bin/linux/x64/
$(
echo
"
${
JULIA_VERSION
}
"
|
cut
-d
.
-f
1,2
)
"/julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
&&
\
echo
"
be7af676f8474afce098861275d28a0eb8a4ece3f83a11027e3554dcdecddb91
*julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
|
sha256sum
-c
-
&&
\
echo
"
${
julia_checksum
}
*julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
|
sha256sum
-c
-
&&
\
tar
xzf
"julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
-C
"/opt/julia-
${
JULIA_VERSION
}
"
--strip-components
=
1
&&
\
tar
xzf
"julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
-C
"/opt/julia-
${
JULIA_VERSION
}
"
--strip-components
=
1
&&
\
rm
"/tmp/julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
rm
"/tmp/julia-
${
JULIA_VERSION
}
-linux-x86_64.tar.gz"
RUN
ln
-fs
/opt/julia-
*
/bin/julia /usr/local/bin/julia
RUN
ln
-fs
/opt/julia-
*
/bin/julia /usr/local/bin/julia
...
@@ -54,9 +62,9 @@ RUN conda install --quiet --yes \
...
@@ -54,9 +62,9 @@ RUN conda install --quiet --yes \
'r-caret=6.0*'
\
'r-caret=6.0*'
\
'r-crayon=1.3*'
\
'r-crayon=1.3*'
\
'r-devtools=2.3*'
\
'r-devtools=2.3*'
\
'r-forecast=8.1
2
*'
\
'r-forecast=8.1
3
*'
\
'r-hexbin=1.28*'
\
'r-hexbin=1.28*'
\
'r-htmltools=0.
4
*'
\
'r-htmltools=0.
5
*'
\
'r-htmlwidgets=1.5*'
\
'r-htmlwidgets=1.5*'
\
'r-irkernel=1.1*'
\
'r-irkernel=1.1*'
\
'r-nycflights13=1.0*'
\
'r-nycflights13=1.0*'
\
...
@@ -64,11 +72,11 @@ RUN conda install --quiet --yes \
...
@@ -64,11 +72,11 @@ RUN conda install --quiet --yes \
'r-randomforest=4.6*'
\
'r-randomforest=4.6*'
\
'r-rcurl=1.98*'
\
'r-rcurl=1.98*'
\
'r-reshape2=1.4*'
\
'r-reshape2=1.4*'
\
'r-rmarkdown=2.
1
*'
\
'r-rmarkdown=2.
3
*'
\
'r-rsqlite=2.2*'
\
'r-rsqlite=2.2*'
\
'r-shiny=1.
4
*'
\
'r-shiny=1.
5
*'
\
'r-tidyverse=1.3*'
\
'r-tidyverse=1.3*'
\
'rpy2=3.
1
*'
\
'rpy2=3.
3
*'
\
&&
\
&&
\
conda clean
--all
-f
-y
&&
\
conda clean
--all
-f
-y
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
...
...
pyspark-notebook/Dockerfile
View file @
9c973761
...
@@ -50,9 +50,10 @@ ENV PYTHONPATH="${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-${py4j_versio
...
@@ -50,9 +50,10 @@ ENV PYTHONPATH="${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-${py4j_versio
USER
$NB_UID
USER
$NB_UID
# Install pyarrow
# Install pyarrow
RUN
conda
install
--quiet
-y
'pyarrow'
&&
\
RUN
conda
install
--quiet
--yes
--satisfied-skip-solve
\
'pyarrow=1.0.*'
&&
\
conda clean
--all
-f
-y
&&
\
conda clean
--all
-f
-y
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
fix-permissions
"/home/
${
NB_USER
}
"
WORKDIR
$HOME
WORKDIR
$HOME
\ No newline at end of file
r-notebook/Dockerfile
View file @
9c973761
...
@@ -25,22 +25,22 @@ USER $NB_UID
...
@@ -25,22 +25,22 @@ USER $NB_UID
# R packages
# R packages
RUN
conda
install
--quiet
--yes
\
RUN
conda
install
--quiet
--yes
\
'r-base=4.0.
0
'
\
'r-base=4.0.
2
'
\
'r-caret=6.*'
\
'r-caret=6.*'
\
'r-crayon=1.3*'
\
'r-crayon=1.3*'
\
'r-devtools=2.3*'
\
'r-devtools=2.3*'
\
'r-forecast=8.1
2
*'
\
'r-forecast=8.1
3
*'
\
'r-hexbin=1.28*'
\
'r-hexbin=1.28*'
\
'r-htmltools=0.
4
*'
\
'r-htmltools=0.
5
*'
\
'r-htmlwidgets=1.5*'
\
'r-htmlwidgets=1.5*'
\
'r-irkernel=1.1*'
\
'r-irkernel=1.1*'
\
'r-nycflights13=1.0*'
\
'r-nycflights13=1.0*'
\
'r-randomforest=4.6*'
\
'r-randomforest=4.6*'
\
'r-rcurl=1.98*'
\
'r-rcurl=1.98*'
\
'r-rmarkdown=2.
2
*'
\
'r-rmarkdown=2.
3
*'
\
'r-rodbc=1.3*'
\
'r-rodbc=1.3*'
\
'r-rsqlite=2.2*'
\
'r-rsqlite=2.2*'
\
'r-shiny=1.
4
*'
\
'r-shiny=1.
5
*'
\
'r-tidyverse=1.3*'
\
'r-tidyverse=1.3*'
\
'unixodbc=2.3.*'
\
'unixodbc=2.3.*'
\
'r-tidymodels=0.1*'
\
'r-tidymodels=0.1*'
\
...
...
scipy-notebook/Dockerfile
View file @
9c973761
...
@@ -18,19 +18,17 @@ USER $NB_UID
...
@@ -18,19 +18,17 @@ USER $NB_UID
RUN
conda
install
--quiet
--yes
\
RUN
conda
install
--quiet
--yes
\
'beautifulsoup4=4.9.*'
\
'beautifulsoup4=4.9.*'
\
'conda-forge::blas=*=openblas'
\
'conda-forge::blas=*=openblas'
\
'bokeh=2.
1
.*'
\
'bokeh=2.
2
.*'
\
'bottleneck=1.3.*'
\
'bottleneck=1.3.*'
\
'cloudpickle=1.
5
.*'
\
'cloudpickle=1.
6
.*'
\
'cython=0.29.*'
\
'cython=0.29.*'
\
'dask=2.2
0
.*'
\
'dask=2.2
5
.*'
\
'dill=0.3.*'
\
'dill=0.3.*'
\
'h5py=2.10.*'
\
'h5py=2.10.*'
\
'hdf5=1.10.*'
\
'ipywidgets=7.5.*'
\
'ipywidgets=7.5.*'
\
'ipympl=0.5.*'
\
'ipympl=0.5.*'
\
'matplotlib-base=3.2.*'
\
'matplotlib-base=3.3.*'
\
# numba update to 0.49 fails resolving deps.
'numba=0.51.*'
\
'numba=0.48.*' \
'numexpr=2.7.*'
\
'numexpr=2.7.*'
\
'pandas=1.1.*'
\
'pandas=1.1.*'
\
'patsy=0.5.*'
\
'patsy=0.5.*'
\
...
@@ -39,9 +37,9 @@ RUN conda install --quiet --yes \
...
@@ -39,9 +37,9 @@ RUN conda install --quiet --yes \
'scikit-image=0.17.*'
\
'scikit-image=0.17.*'
\
'scikit-learn=0.23.*'
\
'scikit-learn=0.23.*'
\
'scipy=1.5.*'
\
'scipy=1.5.*'
\
'seaborn=0.1
0
.*' \
'seaborn=0.1
1
.*'
\
'sqlalchemy=1.3.*'
\
'sqlalchemy=1.3.*'
\
'statsmodels=0.1
1
.*' \
'statsmodels=0.1
2
.*'
\
'sympy=1.6.*'
\
'sympy=1.6.*'
\
'vincent=0.4.*'
\
'vincent=0.4.*'
\
'widgetsnbextension=3.5.*'
\
'widgetsnbextension=3.5.*'
\
...
...
tensorflow-notebook/Dockerfile
View file @
9c973761
...
@@ -7,6 +7,6 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
@@ -7,6 +7,6 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
# Install Tensorflow
# Install Tensorflow
RUN
pip
install
--quiet
--no-cache-dir
\
RUN
pip
install
--quiet
--no-cache-dir
\
'tensorflow==2.
2
.0'
&&
\
'tensorflow==2.
3
.0'
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
fix-permissions
"/home/
${
NB_USER
}
"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment