Skip to content

Commit 18e4ee6

Browse files
committed
new edits for improved container logic
1 parent 7b94984 commit 18e4ee6

1 file changed

Lines changed: 31 additions & 21 deletions

File tree

Dockerfile

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,41 @@
1-
FROM debian:latest
1+
FROM ubuntu:24.04 AS builder
22

3-
4-
RUN apt update -y
5-
RUN apt install -y \
6-
gfortran \
7-
cmake \
8-
g++ \
9-
openmpi-bin \
10-
openmpi-common \
11-
libopenmpi-dev
3+
RUN apt-get update -y && apt-get install -y --no-install-recommends \
4+
gfortran \
5+
cmake \
6+
g++ \
7+
openmpi-bin \
8+
openmpi-common \
9+
libopenmpi-dev \
10+
&& rm -rf /var/lib/apt/lists/*
1211

1312
RUN mkdir /src
14-
1513
WORKDIR /src
16-
1714
COPY . .
1815

19-
RUN mkdir /src/build
16+
RUN cmake -S . -B build \
17+
-DMPI=TRUE \
18+
-DCOMPILER=GNU \
19+
-DCMAKE_INSTALL_PREFIX=/src/install \
20+
&& cmake --build build --parallel $(nproc) \
21+
&& cmake --install build
22+
23+
24+
FROM ubuntu:24.04
2025

21-
WORKDIR /src/build
26+
RUN apt-get update -y && apt-get install -y --no-install-recommends \
27+
libgfortran5 \
28+
libgomp1 \
29+
openmpi-bin \
30+
libopenmpi3t64 \
31+
&& rm -rf /var/lib/apt/lists/*
2232

23-
RUN cmake .. -DMPI=TRUE -DCOMPILER=GNU -DCMAKE_INSTALL_PREFIX=/src/install
24-
RUN make -j && make install
33+
COPY --from=builder /src/install /opt/quick
2534

35+
ENV QUICK_INSTALL=/opt/quick
36+
ENV QUICK_BASIS=/opt/quick/basis
37+
ENV PATH=/opt/quick/bin:$PATH
38+
ENV LIBRARY_PATH=/opt/quick/lib
39+
ENV LD_LIBRARY_PATH=/opt/quick/lib
2640

27-
ENV QUICK_INSTALL=/src/install
28-
ENV QUICK_BASIS=$QUICK_INSTALL/basis
29-
ENV PATH=$PATH:$QUICK_INSTALL/bin
30-
ENV LIBRARY_PATH=$QUICK_INSTALL/lib
31-
ENV LD_LIBRARY_PATH=$QUICK_INSTALL/lib
41+
CMD ["quick"]

0 commit comments

Comments
 (0)