Sign up for one account at Docker Hub:
For Windows (Professional/Enterprise) and mac users, download and install the Docker Desktop here:
...
- Install the latest XMing and run it: https://sourceforge.net/projects/xming/files/latest/download
- Then run this in PowerShell: "docker run -it -e DISPLAY=host.docker.internal:0 haoutwente/mercurytrunk".
How to set the shared folder such that the data generated in Docker container will be saved to your actual disk (slight slow down the running speed of container):
For Windows User:
- Go to Docker Desktop settings and select the shared drives, tick the drive D and click Apply, you might need your administrator password.
- Create a new folder in your D volume with the name "Docker-data".
- Then run this in PowerShell: "docker run -it -e DISPLAY=host.docker.internal:0 -v d:/Docker-data:/MercuryTrunk/MercuryBuild haoutwente/mercurytrunk".
- Now in the container the folder "MercuryTrunk/MercuryBuild" is mapped and all the data generated there will be copied to "d:/Docker-data".
For Mac User:
- Go to Docker Desktop Preferences and select the tab "File Sharing", check if directory "/Users" is already there, if not, add it with your admin password.
- Create a new folder somewhere in your daily directory, e.g. in your Downloads or Desktop folder with the name "Docker-data".
- open a new terminal, type in "cd Downloads/Docker-data", then type in "pwd", this will give you the $ROUTE$ to the Docker-data, e.g. $/Users/hao/Downloads/Docker-data$.
- Then run this in PowerShell: "sudo docker run -it -e DISPLAY=host.docker.internal:0 -v $ROUTE$:/MercuryTrunk/MercuryBuild haoutwente/mercurytrunk".
- Now in the container, the folder "MercuryTrunk/MercuryBuild" is mapped and all the data generated there will be copied to your "Docker-data" folder.
For Linux(e.g. Ubuntu) User:
- Create a new folder somewhere in your daily directory, e.g. type "mkdir /home/$Username$/Docker-data" in your terminal.
- Then type in "cd /home/$Username$/Docker-data", then type "ls" to check the folder is empty.
- Then run this in terminal: "sudo docker run -it -v /home/hao/Docker-data:/MercuryTrunk/MercuryBuild -v /etc/localtime:/etc/localtime:ro -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE haoutwente/mercurytrunk".
- Now in the container, the folder "MercuryTrunk/MercuryBuild" is mapped and all the data generated there will be copied to your "Docker-data" folder.
If you compile the MPI version in the docker, you need to launch MPI in this way: "mpirun --allow-run-as-root -np 4 ForceLawsMPI2Test"
Otherwise it will complain and does not launch the command.
The following is for us to maintain the image to be always newest (Another option will be build up the essentials using Dockerfile and then add line by line the commands to build up the image from basic Ubuntu.
...