22
33# Use a Noble base image
44FROM ubuntu:noble
5+ RUN userdel -r ubuntu
56
67# This DockerFile is looked after by
7- MAINTAINER Tim Greaves
8+ LABEL MAINTAINER=" Tim Greaves"
89
910# Installs shouldn't expect input
1011ENV DEBIAN_FRONTEND=noninteractive
@@ -18,20 +19,26 @@ RUN apt-get update && \
1819 gpg --export --armor 33BAC3BE | apt-key add - && \
1920 apt-get update && \
2021 echo "Europe/London" > /etc/timezone && \
21- apt-get -y install fluidity-dev texlive-pstricks texlive texlive-latex-extra texlive-science python3-pip && \
22+ apt-get -y install fluidity-dev texlive-pstricks texlive texlive-latex-extra texlive-science \
23+ python3-pip python3-numpy python3.12-venv libvtk9-dev libparmetis-dev gir1.2-gtksource-3.0 libnetcdff-dev && \
2224 rm -rf /var/cache/apt && \
2325 rm -rf /var/lib/apt/lists
2426
25- RUN python3 -m pip install --upgrade junit-xml
2627
2728WORKDIR /usr/local
2829RUN curl -fsL https://gmsh.info/bin/Linux/gmsh-4.8.3-Linux64.tgz | tar --strip-components=1 -zxf -
29-
30- ENV PETSC_DIR /usr/lib/petscdir/3.19
31- ENV LDFLAGS -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi
32- ENV CPPFLAGS -I/usr/include/hdf5/openmpi
33- ENV OMPI_MCA_btl_vader_single_copy_mechanism none
34- ENV OMPI_MCA_rmaps_base_oversubscribe 1
30+ RUN curl -LO https://github.com/sandialabs/Zoltan/archive/refs/tags/v3.83.tar.gz && \
31+ tar -zxf v3.83.tar.gz && rm v3.83.tar.gz && \
32+ cd Zoltan-3.83 && mkdir build && cd build && \
33+ ../configure --prefix=/usr/local/zoltan --with-parmetis --with-parmetis-libdir=default --enable-mpi --with-mpi-compilers --enable-f90interface --with-fcflags="-fallow-argument-mismatch" && \
34+ make everything && make install
35+
36+ ENV PETSC_DIR=/usr/lib/petscdir/3.19
37+ ENV LDFLAGS=-L/usr/lib/x86_64-linux-gnu/hdf5/openmpi
38+ ENV CPPFLAGS=-I/usr/include/hdf5/openmpi
39+ ENV OMPI_MCA_btl_vader_single_copy_mechanism=none
40+ ENV OMPI_MCA_rmaps_base_oversubscribe=1
41+ ENV FCFLAGS="-I/usr/local/zoltan/include -L/usr/local/zoltan/lib"
3542
3643# Add a Fluidity user who will be the default user for this container
3744# Make sure the user has a userid matching the host system
@@ -41,3 +48,10 @@ RUN adduser --disabled-password --gecos "" -u $userid fluidity
4148
4249USER fluidity
4350WORKDIR /home/fluidity
51+
52+ # Create a virtual environment
53+ RUN python3 -m venv python_venv
54+
55+ # Install packages using the venv's pip
56+ RUN python_venv/bin/pip install --upgrade pip
57+ RUN python_venv/bin/pip install junit-xml
0 commit comments