I have some question about best practices getting Elmer, specifically Elmer/Ice, up and running through Docker. I've used the Docker file linked in the github README (https://hub.docker.com/r/nwrichmond/elmerice/), which closely resembles the Dockerfile included in the "elmerfem" github repo under the "docker" folder https://github.com/ElmerCSC/elmerfem/bl ... dockerfile. While I've been able to run these Docker containers successful and have access to Elmer executables (e.g. elmerf90), some functionality is missing. Primarily the Dockerfile deletes the entire "elmerice" directory (not just the build directory, as in the compilation instructions). For example running
Code: Select all
$ find / -type d -name "elmerice" -print
As an immediate stopgap, I've commented out the line that deletes the "elmerice" directory ("rm -R /home/elmerice"). This works fine, but inorder to run/use any of the files withing the "elmerice" directory it requires "sudo" privileges. For example, to test the install you have to run
Code: Select all
sudo ctest -L elmerice-fast
Code: Select all
CMake Error: Cannot open file for write: /home/elmerice/builddir/Testing/Temporary/LastTestsFailed.log.tmp
CMake Error: : System Error: Permission denied
Problem opening file: /home/elmerice/builddir/Testing/Temporary/LastTestsFailed.log
Cannot create log file: LastTestsFailed.log
I assume this has to do with the fact the user account (glacier) is created after the Elmer/Ice install, which is in the "/home" directory not "/home/glacier". I am currently trying to amend the Dockerfile to create the user first, then install Elmer/Ice within "/home/glacier" to circumvent the sys administrative hurdles.
I'm fairly new to docker and wondering if anyone has suggestions about how best to navigate these problems? For convenience I've attached the Dockerfile (with "rm -R /home/elmerice" commented out) that I describe above. Any help would be greatly appreciated.
Best,
Andrew