1- FROM ubuntu:20.04 as build
1+ FROM python:3.9.7-slim AS build
22
33RUN apt-get -y update && apt-get install -y apt-utils && \
44 apt-get install -y -qq -o=Dpkg::Use-Pty=0 build-essential gfortran zlib1g-dev \
5- libhdf5-dev libcurl4-openssl-dev libboost-dev cmake wget python
6-
7- #
8- # build PETSc with mpich for static linking
9- #
10- RUN mkdir /usr/local/petsc && \
11- cd /usr/local/petsc && \
12- wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.7.7.tar.gz && \
13- tar xzf petsc-3.7.7.tar.gz && \
14- cd petsc-3.7.7 && \
15- ./configure --with-shared-libraries=0 --download-fblaslapack=1 --with-debugging=1 --download-mpich && \
16- make PETSC_DIR=/usr/local/petsc/petsc-3.7.7 PETSC_ARCH=arch-linux2-c-debug all
17-
18- ENV PETSC_DIR=/usr/local/petsc/petsc-3.7.7 \
19- PETSC_ARCH=arch-linux2-c-debug
5+ libhdf5-dev libcurl4-openssl-dev libboost-dev cmake wget python3 python3-pip
206
217COPY . /vcellroot
228
23- #
24- # build most solvers, and FiniteVolume without PETSc (FiniteVolume_x64)
25- #
269RUN mkdir -p /vcellroot/build/bin
2710WORKDIR /vcellroot/build
2811
@@ -41,33 +24,9 @@ RUN /usr/bin/cmake \
4124 -DOPTION_TARGET_HY3S_SOLVERS=OFF \
4225 .. && \
4326 make && \
44- ctest
45-
46- #
47- # build FiniteVolume with PETSc (FiniteVolume_PETSc_x64)
48- #
49- RUN mkdir -p /vcellroot/build_PETSc/bin
50- WORKDIR /vcellroot/build_PETSc
51-
52- RUN /usr/bin/cmake \
53- -DOPTION_TARGET_MESSAGING=ON \
54- -DOPTION_TARGET_PARALLEL=OFF \
55- -DOPTION_TARGET_PETSC=ON \
56- -DOPTION_TARGET_CHOMBO2D_SOLVER=OFF \
57- -DOPTION_TARGET_CHOMBO3D_SOLVER=OFF \
58- -DOPTION_TARGET_SMOLDYN_SOLVER=OFF \
59- -DOPTION_TARGET_FV_SOLVER=ON \
60- -DOPTION_TARGET_STOCHASTIC_SOLVER=OFF \
61- -DOPTION_TARGET_NFSIM_SOLVER=OFF \
62- -DOPTION_TARGET_MOVINGBOUNDARY_SOLVER=OFF \
63- -DOPTION_TARGET_SUNDIALS_SOLVER=OFF \
64- -DOPTION_TARGET_HY3S_SOLVERS=OFF \
65- .. && \
66- make && \
67- ctest
68-
27+ ctest -VV
6928
70- FROM eclipse-temurin:17 as jre-build
29+ FROM eclipse-temurin:17 AS jre-build
7130
7231# Create a custom Java runtime
7332RUN $JAVA_HOME/bin/jlink \
@@ -81,22 +40,21 @@ RUN $JAVA_HOME/bin/jlink \
8140# Define base image and copy in jlink created minimal Java 17 environment
8241FROM python:3.9.7-slim
8342ENV JAVA_HOME=/opt/java/openjdk
84- ENV PATH "${JAVA_HOME}/bin:${PATH}"
43+ ENV PATH= "${JAVA_HOME}/bin:${PATH}"
8544COPY --from=jre-build /javaruntime $JAVA_HOME
8645
8746# now we have Java 17 and Python 3.9
88- ENV DEBIAN_FRONTEND noninteractive
47+ ENV DEBIAN_FRONTEND= noninteractive
8948ENV LANG=en_US.UTF-8
9049
91- RUN apt-get update && \
50+ RUN apt-get -y update && \
9251 apt-get install -y apt-utils && \
9352 apt-get install -q -y --no-install-recommends curl dnsutils
9453
95- RUN apt-get install -qq -y -o=Dpkg::Use-Pty=0 gcc gfortran zlib1g \
54+ RUN apt-get install -y -qq -o=Dpkg::Use-Pty=0 gcc gfortran zlib1g \
9655 libhdf5-103 libhdf5-cpp-103 libcurl4-openssl-dev zip
9756
9857COPY --from=build /vcellroot/build/bin /vcellbin
99- COPY --from=build /vcellroot/build_PETSc/bin/FiniteVolume_PETSc_x64 /vcellbin/
58+
10059WORKDIR /vcellbin
10160ENV PATH=/vcellbin:$PATH
102-
0 commit comments