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
7b48e43b
Commit
7b48e43b
authored
May 29, 2020
by
Romain
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix hadolint deviations
parent
64c143d3
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
76 additions
and
47 deletions
+76
-47
Makefile
Makefile
+1
-1
all-spark-notebook/Dockerfile
all-spark-notebook/Dockerfile
+11
-8
datascience-notebook/Dockerfile
datascience-notebook/Dockerfile
+25
-15
minimal-notebook/Dockerfile
minimal-notebook/Dockerfile
+2
-0
pyspark-notebook/Dockerfile
pyspark-notebook/Dockerfile
+18
-8
r-notebook/Dockerfile
r-notebook/Dockerfile
+3
-1
scipy-notebook/Dockerfile
scipy-notebook/Dockerfile
+13
-12
tensorflow-notebook/Dockerfile
tensorflow-notebook/Dockerfile
+3
-2
No files found.
Makefile
View file @
7b48e43b
...
...
@@ -79,7 +79,7 @@ dev-env: ## install libraries required to build docs and run tests
lint/%
:
ARGS?=
lint/%
:
##
lint the dockerfile(s) for a stack
@
echo
"Linting Dockerfiles in
$(
notdir
$@
)
..."
git ls-files
--exclude
=
'Dockerfile*'
--ignored
$(
notdir
$@
)
|
grep
-v
ppc64 | xargs
-L
1
$(HADOLINT)
$(ARGS)
@
git ls-files
--exclude
=
'Dockerfile*'
--ignored
$(
notdir
$@
)
|
grep
-v
ppc64 | xargs
-L
1
$(HADOLINT)
$(ARGS)
@
echo
"Linting done!"
lint-all
:
$(foreach I
,
$(ALL_IMAGES)
,
lint/$(I) )
##
lint all stacks
...
...
all-spark-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/pyspark-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
...
@@ -12,6 +13,7 @@ ENV R_LIBS_USER $SPARK_HOME/R/lib
RUN
fix-permissions
$R_LIBS_USER
# R pre-requisites
# hadolint ignore=DL3008
RUN
apt-get update
&&
\
apt-get
install
-y
--no-install-recommends
\
fonts-dejavu
\
...
...
@@ -30,22 +32,23 @@ RUN conda install --quiet --yes \
'r-sparklyr=1.2*'
\
&&
\
conda clean
--all
-f
-y
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions
/home/
$NB_USER
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
# Apache Toree kernel
# hadolint ignore=DL3013
RUN
pip
install
--no-cache-dir
\
https://dist.apache.org/repos/dist/release/incubator/toree/0.3.0-incubating/toree-pip/toree-0.3.0.tar.gz
\
&&
\
jupyter toree
install
--sys-prefix
&&
\
rm
-rf
/home/
$NB_USER
/.local
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions
/home/
$NB_USER
rm
-rf
"/home/
${
NB_USER
}
/.local"
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
# Spylon-kernel
RUN
conda
install
--quiet
--yes
'spylon-kernel=0.4*'
&&
\
conda clean
--all
-f
-y
&&
\
python
-m
spylon_kernel
install
--sys-prefix
&&
\
rm
-rf
/home/
$NB_USER
/.local
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions
/home/
$NB_USER
rm
-rf
"/home/
${
NB_USER
}
/.local"
&&
\
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
datascience-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/scipy-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
...
@@ -9,9 +10,13 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
# be skipped to shorten build time.
ARG
TEST_ONLY_BUILD
# Fix DL4006
SHELL
["/bin/bash", "-o", "pipefail", "-c"]
USER
root
# R pre-requisites
# hadolint ignore=DL3008
RUN
apt-get update
&&
\
apt-get
install
-y
--no-install-recommends
\
fonts-dejavu
\
...
...
@@ -25,21 +30,24 @@ ENV JULIA_DEPOT_PATH=/opt/julia
ENV
JULIA_PKGDIR=/opt/julia
ENV
JULIA_VERSION=1.4.1
RUN
mkdir
/opt/julia-
${
JULIA_VERSION
}
&&
\
cd
/tmp
&&
\
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
&&
\
WORKDIR
/tmp
# TODO
# hadolint ignore=SC2046
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"
&&
\
echo
"fd6d8cadaed678174c3caefb92207a3b0e8da9f926af6703fb4d1e4e4f50610a *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
&&
\
rm
/tmp/julia-
${
JULIA_VERSION
}
-linux-x86_64
.tar.gz
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"
RUN
ln
-fs
/opt/julia-
*
/bin/julia /usr/local/bin/julia
# Show Julia where conda libraries are \
RUN
mkdir
/etc/julia
&&
\
echo
"push!(Libdl.DL_LOAD_PATH,
\"
$CONDA_DIR
/lib
\"
)"
>>
/etc/julia/juliarc.jl
&&
\
# Create JULIA_PKGDIR
\
mkdir
$JULIA_PKGDIR
&&
\
chown
$NB_USER
$JULIA_PKGDIR
&&
\
fix-permissions
$JULIA_PKGDIR
mkdir
"
${
JULIA_PKGDIR
}
"
&&
\
chown
"
${
NB_USER
}
"
"
${
JULIA_PKGDIR
}
"
&&
\
fix-permissions
"
${
JULIA_PKGDIR
}
"
USER
$NB_UID
...
...
@@ -66,8 +74,8 @@ RUN conda install --quiet --yes \
'rpy2=3.1*'
\
&&
\
conda clean
--all
-f
-y
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions
/home/
$NB_USER
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
# Add Julia packages. Only add HDF5 if this is not a test-only build since
# it takes roughly half the entire build time of all of the images on Travis
...
...
@@ -77,10 +85,12 @@ RUN conda install --quiet --yes \
# to the system share location. Avoids problems with runtime UID change not
# taking effect properly on the .local folder in the jovyan home dir.
RUN
julia
-e
'import Pkg; Pkg.update()'
&&
\
(
test
$TEST_ONLY_BUILD
||
julia
-e
'import Pkg; Pkg.add("HDF5")'
)
&&
\
(
test
"
${
TEST_ONLY_BUILD
}
"
||
julia
-e
'import Pkg; Pkg.add("HDF5")'
)
&&
\
julia
-e
"using Pkg; pkg
\"
add IJulia
\"
; pkg
\"
precompile
\"
"
&&
\
# move kernelspec out of home
\
mv
$HOME
/.local/share/jupyter/kernels/julia
*
$CONDA_DIR
/share/jupyter/kernels/
&&
\
chmod
-R
go+rx
$CONDA_DIR
/share/jupyter
&&
\
rm
-rf
$HOME
/.local
&&
\
fix-permissions
$JULIA_PKGDIR
$CONDA_DIR
/share/jupyter
mv
"
${
HOME
}
/.local/share/jupyter/kernels/julia*"
"
${
CONDA_DIR
}
/share/jupyter/kernels/"
&&
\
chmod
-R
go+rx
"
${
CONDA_DIR
}
/share/jupyter"
&&
\
rm
-rf
"
${
HOME
}
/.local"
&&
\
fix-permissions
"
${
JULIA_PKGDIR
}
"
"
${
CONDA_DIR
}
/share/jupyter"
WORKDIR
$HOME
\ No newline at end of file
minimal-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/base-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
...
@@ -8,6 +9,7 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
USER
root
# Install all OS dependencies for fully functional notebook server
# hadolint ignore=DL3008
RUN
apt-get update
&&
apt-get
install
-yq
--no-install-recommends
\
build-essential
\
emacs-nox
\
...
...
pyspark-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/scipy-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
# Fix DL4006
SHELL
["/bin/bash", "-o", "pipefail", "-c"]
USER
root
# Spark dependencies
ENV
APACHE_SPARK_VERSION=2.4.5 \
HADOOP_VERSION=2.7
# hadolint ignore=DL3008
RUN
apt-get
-y
update
&&
\
apt-get
install
--no-install-recommends
-y
openjdk-8-jre-headless ca-certificates-java
&&
\
rm
-rf
/var/lib/apt/lists/
*
# Using the preferred mirror to download Spark
RUN
cd
/tmp
&&
\
wget
-q
$(
wget
-qO-
https://www.apache.org/dyn/closer.lua/spark/spark-
${
APACHE_SPARK_VERSION
}
/spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz
\?
as_json |
\
WORKDIR
/tmp
# TODO
# hadolint ignore=SC2046
RUN
wget
-q
$(
wget
-qO-
"https://www.apache.org/dyn/closer.lua/spark/spark-
${
APACHE_SPARK_VERSION
}
/spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz
\?
as_json"
|
\
python
-c
"import sys, json; content=json.load(sys.stdin); print(content['preferred']+content['path_info'])"
)
&&
\
echo
"2426a20c548bdfc07df288cd1d18d1da6b3189d0b78dee76fa034c52a4e02895f0ad460720c526f163ba63a17efae4764c46a1cd8f9b04c60f9937a554db85d2 *spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz"
|
sha512sum
-c
-
&&
\
tar
xzf spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz
-C
/usr/local
--owner
root
--group
root
--no-same-owner
&&
\
rm
spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz
RUN
cd
/usr/local
&&
ln
-s
spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
spark
tar
xzf
"spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz"
-C
/usr/local
--owner
root
--group
root
--no-same-owner
&&
\
rm
"spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
.tgz"
WORKDIR
/usr/local
RUN
ln
-s
"spark-
${
APACHE_SPARK_VERSION
}
-bin-hadoop
${
HADOOP_VERSION
}
"
spark
# Configure Spark
ENV
SPARK_HOME=/usr/local/spark
...
...
@@ -35,5 +43,7 @@ USER $NB_UID
# Install pyarrow
RUN
conda
install
--quiet
-y
'pyarrow'
&&
\
conda clean
--all
-f
-y
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions /home/
$NB_USER
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
WORKDIR
$HOME
\ No newline at end of file
r-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/minimal-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
...
@@ -8,6 +9,7 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
USER
root
# R pre-requisites
# hadolint ignore=DL3008
RUN
apt-get update
&&
\
apt-get
install
-y
--no-install-recommends
\
fonts-dejavu
\
...
...
@@ -47,7 +49,7 @@ RUN conda install --quiet --yes \
'unixodbc=2.3.*'
\
&&
\
conda clean
--all
-f
-y
&&
\
fix-permissions
$CONDA_DIR
fix-permissions
"
${
CONDA_DIR
}
"
# Install e1071 R package (dependency of the caret R package)
RUN
conda
install
--quiet
--yes
r-e1071
scipy-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/minimal-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
...
@@ -8,6 +9,7 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
USER
root
# ffmpeg for matplotlib anim & dvipng for latex labels
# hadolint ignore=DL3008
RUN
apt-get update
&&
\
apt-get
install
-y
--no-install-recommends
ffmpeg dvipng
&&
\
rm
-rf
/var/lib/apt/lists/
*
...
...
@@ -59,24 +61,23 @@ RUN conda install --quiet --yes \
jupyter lab build -y && \
jupyter lab clean -y && \
npm cache clean --force && \
rm -rf
/home/$NB_USER/.cache/yarn
&& \
rm -rf
/home/$NB_USER/.node-gyp
&& \
fix-permissions
$CONDA_DIR
&& \
fix-permissions
/home/$NB_USER
rm -rf
"/home/${NB_USER}/.cache/yarn"
&& \
rm -rf
"/home/${NB_USER}/.node-gyp"
&& \
fix-permissions
"${CONDA_DIR}"
&& \
fix-permissions
"/home/${NB_USER}"
# Install facets which does not have a pip or conda package at the moment
RUN
cd
/tmp
&&
\
git clone https://github.com/PAIR-code/facets.git
&&
\
cd
facets
&&
\
jupyter nbextension
install
facets-dist/
--sys-prefix
&&
\
cd
&&
\
WORKDIR
/tmp
RUN
git clone https://github.com/PAIR-code/facets.git
&&
\
jupyter nbextension
install
facets/facets-dist/
--sys-prefix
&&
\
rm
-rf
/tmp/facets
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions
/home/
$NB_USER
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
fix-permissions
"/home/
${
NB_USER
}
"
# Import matplotlib the first time to build the font cache.
ENV
XDG_CACHE_HOME /home/$NB_USER/.cache/
RUN
MPLBACKEND
=
Agg python
-c
"import matplotlib.pyplot"
&&
\
fix-permissions
/home/
$NB_USER
fix-permissions
"/home/
${
NB_USER
}
"
USER
$NB_UID
WORKDIR
$HOME
\ No newline at end of file
tensorflow-notebook/Dockerfile
View file @
7b48e43b
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG
BASE_CONTAINER=jupyter/scipy-notebook
# hadolint ignore=DL3006
FROM
$BASE_CONTAINER
LABEL
maintainer="Jupyter Project <jupyter@googlegroups.com>"
...
...
@@ -8,5 +9,5 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
# Install Tensorflow
RUN
pip
install
--quiet
--no-cache-dir
\
'tensorflow==2.2.0'
&&
\
fix-permissions
$CONDA_DIR
&&
\
fix-permissions
/home/
$NB_USER
fix-permissions
"
${
CONDA_DIR
}
"
&&
\
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