Now available Dockerfile for modules build

14 views
Skip to first unread message

Lukasz Kaczmraczyk

unread,
Jun 13, 2017, 9:45:04 PM6/13/17
to mofem Group
Hello All,

Change directory to root source directory of mofem, f.e.
cd mofem_inastall/mofem-cephas

It has been added new functionality for docker build of modules. For example, you can build cell engineering module as follows, 
docker build -t mofem_cell_engineering --build-arg MODULE=cell_engineering --build-arg NBPROCS=2 -f Dockerfile-build-um .
Above create image with cell_engineering module. Next step is to add volume.

Next step is to compile, test module and create volume,
docker run --name cell_engineering_volume mofem_cell_engineering

Once volume is there, you can start to work,
docker run --rm=true -it --volumes-from cell_engineering_volume -v $HOME:$HOME -e HOSTHOME=$HOME mofem_cell_engineering /bin/bash

Sometimes you module depend on other modules, then you can build module one by one, for example, obsolete module is in docker hub, to build fracture_mechanics module, you simply run 
sed s/mofem_build/mofem_obsolete/ Dockerfile-build-um | tee Dockerfile-build-um-obsolete
docker build
-t mofem_fracture_mechanics:latest --build-arg MODULE=fracture_mechanics --build-arg NBPROCS=2  -f  Dockerfile-build-um-obsolete .
The first command replaces first line in Dockerfile-build-um, changing image likask/mofem_build on likask/mofem_obsolete. likask/mofem_obsolete was previously built and is available in docker hub.

Some modules are available on docker hub:

Note: In mofem version v0.5.66 are other changes that docker run quite fast. In older version core lib and module were compiled to make code size minimal not fast. Now optimisation is to improve efficiency.
Reply all
Reply to author
Forward
0 new messages