mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-14 21:42:57 +00:00
Fix hadolint deviations
This commit is contained in:
2
Makefile
2
Makefile
@@ -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
|
||||
|
@@ -1,6 +1,7 @@
|
||||
# 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}"
|
||||
|
@@ -1,6 +1,7 @@
|
||||
# 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
|
@@ -1,6 +1,7 @@
|
||||
# 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 \
|
||||
|
@@ -1,28 +1,36 @@
|
||||
# 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
|
@@ -1,6 +1,7 @@
|
||||
# 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
|
||||
|
@@ -1,6 +1,7 @@
|
||||
# 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
|
@@ -1,6 +1,7 @@
|
||||
# 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}"
|
||||
|
Reference in New Issue
Block a user