Difference between revisions of "Docker install"

From relax wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
== Dockerfile ==
 
== Dockerfile ==
 
The Dockerfile for the build can be seen here:
 
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://github.com/tlinnet/docker_relax
 
* https://cloud.docker.com/swarm/tlinnet/repository/docker/tlinnet/relax/general
 
* https://cloud.docker.com/swarm/tlinnet/repository/docker/tlinnet/relax/general
  

Revision as of 14:19, 25 October 2017

Dockerfile

The Dockerfile for the build can be seen here:

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

See also