How to add a FEniCS shell module in Docker file

How to add a FEniCS shell module in Docker file

Docker is a set of coupled software-as-a-service and platform-as-a-service products that use operating-system-level virtualization to develop and deliver software in packages called containers. The software that hosts the containers is called Docker Engine.

In our lab we mostly use the open source tool FEniCS for computation. FEniCS is a open source library, that is maintained by a passionate group of researchers. I love working with FEniCS so much because my research deals with differential equations that are still not built into the commercial packages, and coding them entirely on my own would have taken a significant amount of time. So for an efficient mode of working we use this tool. And the best thing about using FEniCS is we can work with Python language, which makes our work much more simpler.

In this article I will try to explain how to add a new module in the already made Docker file. One of my senior Abhinav Gupta have made a Docker file containing all the dependencies that are necessary to carry out simulations using FEniCS at CMLab, Indian Institute of Technology Roorkee, India. I have understood the basics of a Docker file using this post.

Now I am starting to work in fenics-shell module, so I wanted to add this module in the already developed Docker file. The installation procedure of fenics shell is explained in detail in this documentation. To start with I have cloned this module in my github repository.¬† Then edit the Docker file and added these commands. Each command is added by using ‘&& \’ and also use ‘python3 setup.py install’ command to install the module into your container using Docker file.

RUN git clone https://github.com/umeenukrishnan/fenics-shell.git && \
cd fenics-shell && \
python3 setup.py install

I am writing this post with very basic understanding of Docker, so if you find any shortcoming in this post please free to let me know I would surely appreciate.

Categories: Computing, FEniCS

Leave a Reply