Docker install
Dockerfile
The Dockerfile for the build can be seen here:
- https://github.com/nmr-relax/relax/blob/master/devel_scripts/Docker/Ubuntu_16_04_relax/Dockerfile
- https://cloud.docker.com/swarm/tlinnet/repository/docker/tlinnet/relax/general
To get image
docker pull tlinnet/relax
See images
docker images
Run the image on mac
On mac, first make sure XQuartz is running
open -a XQuartz
# In XQuartz -> Preferences > Security, make sure the tick "Allow connections from network clients" is ON.
Then set DISPLAY options. Verifu
# Its either of these. Check which one return IP addr.
ipconfig getifaddr en1
ipconfig getifaddr en0
# Run appropriate
xhost + `ipconfig getifaddr en1`
xhost + `ipconfig getifaddr en0`
Then make alias and run
alias dr='docker run -ti --rm -e DISPLAY=$(ipconfig getifaddr en1):0 -v /tmp/.X11-unix:/tmp/.X11-unix -v $PWD:/home/developer/work --name ubuntu_relax tlinnet/relax'
# Start relax
dr relax
# Start relax in GUI
dr relax -g
# Start OpenDX
dr dx
# Try OpenMPI
dr mpirun --version
dr mpirun -np 2 echo "hello world"
dr mpirun --report-bindings -np 2 echo "hello world"
To make this easier, consider adding this to HOME/.bash_profile
# Start docker, if it is not running
alias drdocker='open -a /Applications/Docker.app/Contents/MacOS/Docker'
# Start XQuartz, if it is not running
alias drx='open -a XQuartz; xhost + `ipconfig getifaddr en1`'
# Alias the docker run command
alias dr='docker run -ti --rm -e DISPLAY=$(ipconfig getifaddr en1):0 -v /tmp/.X11-unix:/tmp/.X11-unix -v $PWD:/home/developer/work --name ubuntu_relax tlinnet/relax'
Update relax code
To update, do this
# Go into container
dr
# Inside container
cd $HOME/relax
git pull