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
4c363875
Commit
4c363875
authored
Dec 09, 2016
by
Min RK
Committed by
GitHub
Dec 09, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #305 from betamaniac/master_ppc64le
Dockerfile version for power ppc64le
parents
18e5563b
38ae459b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
223 additions
and
2 deletions
+223
-2
Makefile
Makefile
+18
-2
base-notebook/Dockerfile.ppc64le
base-notebook/Dockerfile.ppc64le
+104
-0
base-notebook/Dockerfile.ppc64le.patch
base-notebook/Dockerfile.ppc64le.patch
+101
-0
No files found.
Makefile
View file @
4c363875
...
@@ -8,6 +8,11 @@ SHELL:=bash
...
@@ -8,6 +8,11 @@ SHELL:=bash
OWNER
:=
jupyter
OWNER
:=
jupyter
# need to list these manually because there's a dependency tree
# need to list these manually because there's a dependency tree
ARCH
:=
$(
shell
uname
-m
)
ifeq
($(ARCH),ppc64le)
ALL_STACKS
:=
base-notebook
else
ALL_STACKS
:=
base-notebook
\
ALL_STACKS
:=
base-notebook
\
minimal-notebook
\
minimal-notebook
\
r-notebook
\
r-notebook
\
...
@@ -16,6 +21,7 @@ ALL_STACKS:=base-notebook \
...
@@ -16,6 +21,7 @@ ALL_STACKS:=base-notebook \
datascience-notebook
\
datascience-notebook
\
pyspark-notebook
\
pyspark-notebook
\
all-spark-notebook
all-spark-notebook
endif
ALL_IMAGES
:=
$(ALL_STACKS)
ALL_IMAGES
:=
$(ALL_STACKS)
...
@@ -31,12 +37,22 @@ help:
...
@@ -31,12 +37,22 @@ help:
@echo
@echo
@grep -E '^[a-zA-Z0-9_%/-]+
:
.*?
##
.*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?
##
"}; {printf "
\0
33[36m%-30s
\0
33[0m %s
\n
"
,
$$1
,
$$2}'
@grep -E '^[a-zA-Z0-9_%/-]+
:
.*?
##
.*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?
##
"}; {printf "
\0
33[36m%-30s
\0
33[0m %s
\n
"
,
$$1
,
$$2}'
arch_patch/%
:
##
apply hardware architecture specific patches to the Dockerfile
if
[
-e
./
$(
notdir
$@
)
/Dockerfile.
$(ARCH)
.patch
]
;
then
\
if
[
-e
./
$(
notdir
$@
)
/Dockerfile.orig
]
;
then
\
cp
-f
./
$(
notdir
$@
)
/Dockerfile.orig ./
$(
notdir
$@
)
/Dockerfile
;
\
else
\
cp
-f
./
$(
notdir
$@
)
/Dockerfile ./
$(
notdir
$@
)
/Dockerfile.orig
;
\
fi
;
\
patch
-f
./
$(
notdir
$@
)
/Dockerfile ./
$(
notdir
$@
)
/Dockerfile.
$(ARCH)
.patch
;
\
fi
build/%
:
DARGS?=
build/%
:
DARGS?=
build/%
:
##
build the latest image for a stack
build/%
:
##
build the latest image for a stack
docker build
$(DARGS)
--rm
--force-rm
-t
$(OWNER)
/
$(
notdir
$@
)
:latest ./
$(
notdir
$@
)
docker build
$(DARGS)
--rm
--force-rm
-t
$(OWNER)
/
$(
notdir
$@
)
:latest ./
$(
notdir
$@
)
build-all
:
$(
ALL_IMAGES:%=build/%
)
##
build all stacks
build-all
:
$(
foreach I
,
$(ALL_IMAGES)
,
arch_patch/$(I) build/$(I)
)
##
build all stacks
build-test-all
:
$(foreach I
,
$(ALL_IMAGES)
,
build/$(I) test/$(I) )
##
build and test all stacks
build-test-all
:
$(foreach I
,
$(ALL_IMAGES)
,
arch_patch/$(I)
build/$(I) test/$(I) )
##
build and test all stacks
dev/%
:
ARGS?=
dev/%
:
ARGS?=
dev/%
:
DARGS?=
dev/%
:
DARGS?=
...
...
base-notebook/Dockerfile.ppc64le
0 → 100644
View file @
4c363875
# Copyright (c) IBM Corporation 2016
# Distributed under the terms of the Modified BSD License.
# Ubuntu image
FROM ppc64le/ubuntu:trusty
MAINTAINER Ilsiyar Gaynutdinov <ilsiyar_gaynutdinov@ru.ibm.com>
USER root
# Install all OS dependencies for notebook server that starts but lacks all
# features (e.g., download as all possible file formats)
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -yq dist-upgrade \
&& apt-get install -yq --no-install-recommends \
build-essential \
bzip2 \
ca-certificates \
cmake \
git \
locales \
sudo \
wget \
&& apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN echo "LANGUAGE=en_US.UTF-8" >> /etc/default/locale
RUN echo "LC_ALL=en_US.UTF-8" >> /etc/default/locale
RUN echo "LC_TYPE=en_US.UTF-8" >> /etc/default/locale
RUN locale-gen en_US en_US.UTF-8
#build and install Tini for ppc64le
RUN wget https://github.com/krallin/tini/archive/v0.10.0.tar.gz && \
tar zxvf v0.10.0.tar.gz && \
rm -rf v0.10.0.tar.gz
WORKDIR tini-0.10.0/
RUN cmake . && make install
RUN mv ./tini /usr/local/bin/tini && \
chmod +x /usr/local/bin/tini
WORKDIR ..
# Configure environment
ENV CONDA_DIR /opt/conda
ENV PATH $CONDA_DIR/bin:$PATH
ENV SHELL /bin/bash
ENV NB_USER jovyan
ENV NB_UID 1000
ENV HOME /home/$NB_USER
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
# Create jovyan user with UID=1000 and in the 'users' group
RUN useradd -m -s /bin/bash -N -u $NB_UID $NB_USER && \
mkdir -p $CONDA_DIR && \
chown $NB_USER $CONDA_DIR
USER $NB_USER
# Setup jovyan home directory
RUN mkdir /home/$NB_USER/work && \
mkdir /home/$NB_USER/.jupyter && \
echo "cacert=/etc/ssl/certs/ca-certificates.crt" > /home/$NB_USER/.curlrc
# Install conda as jovyan
RUN cd /tmp && \
mkdir -p $CONDA_DIR && \
wget https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-ppc64le.sh && \
/bin/bash Miniconda3-4.2.12-Linux-ppc64le.sh -f -b -p $CONDA_DIR && \
rm -rf Miniconda3-4.2.12-Linux-ppc64le.sh && \
$CONDA_DIR/bin/conda install --quiet --yes conda=4.2.12 && \
$CONDA_DIR/bin/conda config --system --add channels conda-forge && \
$CONDA_DIR/bin/conda config --system --set auto_update_conda false && \
conda clean -tipsy
# Temporary workaround for https://github.com/jupyter/docker-stacks/issues/210
# Stick with jpeg 8 to avoid problems with R packages
RUN echo "jpeg 8*" >> /opt/conda/conda-meta/pinned
# Install Jupyter notebook as jovyan
RUN yes | pip install --upgrade pip
RUN yes | pip install --quiet --no-cache-dir \
'notebook==4.2.*' \
jupyterhub==0.7
USER root
EXPOSE 8888
WORKDIR /home/$NB_USER/work
RUN echo "ALL ALL = (ALL) NOPASSWD: ALL" >> /etc/sudoers
# Configure container startup
ENTRYPOINT ["tini", "--"]
CMD ["start-notebook.sh"]
# Add local files as late as possible to avoid cache busting
COPY start.sh /usr/local/bin/
COPY start-notebook.sh /usr/local/bin/
COPY start-singleuser.sh /usr/local/bin/
COPY jupyter_notebook_config.py /home/$NB_USER/.jupyter/
RUN chown -R $NB_USER:users /home/$NB_USER/.jupyter
# Switch back to jovyan to avoid accidental container runs as root
USER $NB_USER
base-notebook/Dockerfile.ppc64le.patch
0 → 100644
View file @
4c363875
--- Dockerfile 2016-12-08 12:23:10.288198002 -0500
+++ Dockerfile.ppc64le 2016-12-08 12:25:01.518197999 -0500
@@ -1,36 +1,43 @@
-# Copyright (c) Jupyter Development Team.
+# Copyright (c) IBM Corporation 2016
# Distributed under the terms of the Modified BSD License.
-# Debian Jessie image released 2016 May 03.
-FROM debian@sha256:32a225e412babcd54c0ea777846183c61003d125278882873fb2bc97f9057c51
+# Ubuntu image
+FROM ppc64le/ubuntu:trusty
-MAINTAINER Jupyter Project <jupyter@googlegroups.com>
+MAINTAINER Ilsiyar Gaynutdinov <ilsiyar_gaynutdinov@ru.ibm.com>
USER root
# Install all OS dependencies for notebook server that starts but lacks all
# features (e.g., download as all possible file formats)
ENV DEBIAN_FRONTEND noninteractive
-RUN REPO=http://cdn-fastly.deb.debian.org \
- && echo "deb $REPO/debian jessie main\ndeb $REPO/debian-security jessie/updates main" > /etc/apt/sources.list \
- && apt-get update && apt-get -yq dist-upgrade \
+RUN apt-get update && apt-get -yq dist-upgrade \
&& apt-get install -yq --no-install-recommends \
- wget \
+ build-essential \
bzip2 \
ca-certificates \
- sudo \
+ cmake \
+ git \
locales \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
- locale-gen
+ sudo \
+ wget \
+ && apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
-# Install Tini
-RUN wget --quiet https://github.com/krallin/tini/releases/download/v0.10.0/tini && \
- echo "1361527f39190a7338a0b434bd8c88ff7233ce7b9a4876f3315c22fce7eca1b0 *tini" | sha256sum -c - && \
- mv tini /usr/local/bin/tini && \
+RUN echo "LANGUAGE=en_US.UTF-8" >> /etc/default/locale
+RUN echo "LC_ALL=en_US.UTF-8" >> /etc/default/locale
+RUN echo "LC_TYPE=en_US.UTF-8" >> /etc/default/locale
+RUN locale-gen en_US en_US.UTF-8
+
+#build and install Tini for ppc64le
+RUN wget https://github.com/krallin/tini/archive/v0.10.0.tar.gz && \
+ tar zxvf v0.10.0.tar.gz && \
+ rm -rf v0.10.0.tar.gz
+WORKDIR tini-0.10.0/
+RUN cmake . && make install
+RUN mv ./tini /usr/local/bin/tini && \
chmod +x /usr/local/bin/tini
+WORKDIR ..
# Configure environment
ENV CONDA_DIR /opt/conda
@@ -58,11 +65,10 @@
# Install conda as jovyan
RUN cd /tmp && \
mkdir -p $CONDA_DIR && \
- wget --quiet https://repo.continuum.io/miniconda/Miniconda3-4.1.11-Linux-x86_64.sh && \
- echo "efd6a9362fc6b4085f599a881d20e57de628da8c1a898c08ec82874f3bad41bf *Miniconda3-4.1.11-Linux-x86_64.sh" | sha256sum -c - && \
- /bin/bash Miniconda3-4.1.11-Linux-x86_64.sh -f -b -p $CONDA_DIR && \
- rm Miniconda3-4.1.11-Linux-x86_64.sh && \
- $CONDA_DIR/bin/conda install --quiet --yes conda==4.1.11 && \
+ wget https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-ppc64le.sh && \
+ /bin/bash Miniconda3-4.2.12-Linux-ppc64le.sh -f -b -p $CONDA_DIR && \
+ rm -rf Miniconda3-4.2.12-Linux-ppc64le.sh && \
+ $CONDA_DIR/bin/conda install --quiet --yes conda=4.2.12 && \
$CONDA_DIR/bin/conda config --system --add channels conda-forge && \
$CONDA_DIR/bin/conda config --system --set auto_update_conda false && \
conda clean -tipsy
@@ -72,15 +78,16 @@
RUN echo "jpeg 8*" >> /opt/conda/conda-meta/pinned
# Install Jupyter notebook as jovyan
-RUN conda install --quiet --yes \
- 'notebook=4.2*' \
- jupyterhub=0.7 \
- && conda clean -tipsy
+RUN yes | pip install --upgrade pip
+RUN yes | pip install --quiet --no-cache-dir \
+ 'notebook==4.2.*' \
+ jupyterhub==0.7
USER root
EXPOSE 8888
WORKDIR /home/$NB_USER/work
+RUN echo "ALL ALL = (ALL) NOPASSWD: ALL" >> /etc/sudoers
# Configure container startup
ENTRYPOINT ["tini", "--"]
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