Skip to content

Commit 19965f6

Browse files
committed
Added a Dockerfile that generates an image containing provdb-python built on top of a conda environment with jupyter notebook installed and an example provided for interfacing jupyter with provdb_python module
1 parent e31b7f9 commit 19965f6

5 files changed

Lines changed: 4435 additions & 19 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
FROM ubuntu:18.04 as conda
2+
RUN apt-get update && apt-get install -y build-essential wget && apt-get clean && rm -rf /var/lib/apt/lists/*
3+
ENV CONDA_DIR /opt/conda
4+
ENV PATH=$CONDA_DIR/bin:$PATH
5+
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && /bin/bash ~/miniconda.sh -b -p /opt/conda
6+
RUN conda init bash
7+
8+
FROM conda as builder
9+
RUN apt-get update && apt-get install -y git
10+
WORKDIR /Downloads
11+
RUN git clone https://github.com/CODARcode/PerformanceAnalysis.git && rm -rf PerformanceAnalysis/spack/repo/chimbuko/packages/binutils
12+
RUN git clone https://github.com/mochi-hpc/mochi-spack-packages.git
13+
WORKDIR /
14+
RUN git clone https://github.com/spack/spack.git
15+
WORKDIR /Downloads
16+
RUN . /spack/share/spack/setup-env.sh && spack repo add PerformanceAnalysis/spack/repo/chimbuko && spack repo add mochi-spack-packages
17+
WORKDIR /opt/spack-environment
18+
RUN echo 'invalidate 8'
19+
COPY provdb_python_spack_env /opt/spack-environment/spack.yaml
20+
RUN . /spack/share/spack/setup-env.sh && spack env activate . && spack install --fail-fast && spack gc -y
21+
22+
RUN apt-get update && apt-get install -y file && find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
23+
xargs file -i | \
24+
grep 'charset=binary' | \
25+
grep 'x-executable\|x-archive\|x-sharedlib' | \
26+
awk -F: '{print $1}' | xargs strip -s
27+
28+
RUN cd /opt/spack-environment && \
29+
. /spack/share/spack/setup-env.sh && spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
30+
31+
FROM conda
32+
COPY --from=builder /opt/spack-environment /opt/spack-environment
33+
COPY --from=builder /opt/software /opt/software
34+
COPY --from=builder /opt/view /opt/view
35+
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
36+
37+
RUN pip3 install jupyter
38+
WORKDIR /jupyter
39+
RUN echo '#!/bin/bash\njupyter notebook --no-browser --port=$1 --allow-root --ip=0.0.0.0' > run_notebook.sh && chmod u+x run_notebook.sh
40+
COPY jupyter_example.ipynb /jupyter/
41+
42+
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
2-
docker push chimbuko/base:ubuntu18.04
3-
docker push chimbuko/adios2:ubuntu18.04
4-
docker push chimbuko/mochi:ubuntu18.04
5-
docker push chimbuko/ad:ubuntu18.04-provdb
6-
docker push chimbuko/tau2:ubuntu18.04
7-
docker push chimbuko/nwchem:ubuntu18.04-provdb
8-
docker push chimbuko/run_nwchem:ubuntu18.04-provdb
9-
docker push chimbuko/viz:ubuntu18.04
10-
docker push chimbuko/run_examples:ubuntu18.04-provdb
2+
#docker push chimbuko/base:ubuntu18.04
3+
#docker push chimbuko/adios2:ubuntu18.04
4+
#docker push chimbuko/mochi:ubuntu18.04
5+
#docker push chimbuko/ad:ubuntu18.04-provdb
6+
#docker push chimbuko/tau2:ubuntu18.04
7+
#docker push chimbuko/nwchem:ubuntu18.04-provdb
8+
#docker push chimbuko/run_nwchem:ubuntu18.04-provdb
9+
#docker push chimbuko/viz:ubuntu18.04
10+
#docker push chimbuko/run_examples:ubuntu18.04-provdb
11+
docker push chimbuko/provdb-python:ubuntu18.04

docker/ubuntu18.04/openmpi4.0.4/docker_rebuild_stack.sh

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
set -e
44

5-
#docker build -f Dockerfile.base -t chimbuko/base:ubuntu18.04 .
6-
#docker build -f Dockerfile.adios2 -t chimbuko/adios2:ubuntu18.04 .
7-
#docker build -f Dockerfile.mochi -t chimbuko/mochi:ubuntu18.04 .
8-
#docker build -f Dockerfile.tau2 -t chimbuko/tau2:ubuntu18.04 .
9-
#docker build -f Dockerfile.ad.provdb -t chimbuko/ad:ubuntu18.04-provdb .
5+
docker build -f Dockerfile.base -t chimbuko/base:ubuntu18.04 .
6+
docker build -f Dockerfile.adios2 -t chimbuko/adios2:ubuntu18.04 .
7+
docker build -f Dockerfile.mochi -t chimbuko/mochi:ubuntu18.04 .
8+
docker build -f Dockerfile.tau2 -t chimbuko/tau2:ubuntu18.04 .
9+
docker build -f Dockerfile.ad.provdb -t chimbuko/ad:ubuntu18.04-provdb .
1010
docker build -f Dockerfile.viz -t chimbuko/viz:ubuntu18.04 .
11-
#docker build -f Dockerfile.nwchem -t chimbuko/nwchem:ubuntu18.04-provdb .
12-
#docker build -f Dockerfile.chimbuko.nwchem -t chimbuko/run_nwchem:ubuntu18.04-provdb .
13-
#docker build -f Dockerfile.chimbuko.benchmark_suite -t chimbuko/run_examples:ubuntu18.04-provdb .
14-
15-
#docker build -f Dockerfile.ad.provdb.gcov -t chimbuko/ad:ubuntu18.04-provdb-coverage .
11+
docker build -f Dockerfile.nwchem -t chimbuko/nwchem:ubuntu18.04-provdb .
12+
docker build -f Dockerfile.chimbuko.nwchem -t chimbuko/run_nwchem:ubuntu18.04-provdb .
13+
docker build -f Dockerfile.chimbuko.benchmark_suite -t chimbuko/run_examples:ubuntu18.04-provdb .
14+
docker build -f Dockerfile.ad.provdb.gcov -t chimbuko/ad:ubuntu18.04-provdb-coverage .
15+
docker build -f Dockerfile.provdb_python -t chimbuko/provdb-python:ubuntu18.04 .

0 commit comments

Comments
 (0)