Public Repository

Last pushed: 12 days ago
Short Description
A modular scientific software framework in C++.
Full Description

Getting started

We also provide ROOT in Docker containers. Note that this is currently an experimental feature. In order to run containers, you must have Docker installed.
You can start a container by running the following command in your terminal which will start the latest stable release of ROOT:
docker run --rm -it rootproject/root-ubuntu16
Note that the container, together with its data is removed once it is shut down, hence the --rm flag. In order to persist data, it is recommended to mount a directory to the container. For example, to mount your home directory on Linux and Mac, run:
docker run --rm -it -v ~:/userhome --user $(id -u) rootproject/root-ubuntu16
On Windows, you have to specify the full path to your user directory:
docker run --rm -it -v C:\\Users\\Username:/userhome rootproject/root-ubuntu16

The -v option tells Docker to mount the home directory (~) to /userhome in the container. --user $(id -u) signs us in with the same userid as in the host in order to allow reading/writing to the mounted directory. This is not necessary on Windows. Mac and Windows users does however have to mark the drives or areas they want to mount as shared in the Docker application under settings.

Configuring Docker for Windows Shared Drives / Volume Mounting with AD
More about mounting host directories in the container.

Graphics (Optional)


To enable graphics, you must have Xming installed. Make sure Xming is whitelisted in the Windows firewall when prompted. After installing Xming, white-list the IP-address of the Docker containers in Xming by running the following command in PowerShell as administrator:
Add-Content 'C:\Program Files (x86)\Xming\X0.hosts' "`r`n10.0.75.2"
Restart Xming and start the container with the following command:
docker run --rm -it -e DISPLAY= rootproject/root-ubuntu16


To use graphics, make sure you are in an X11 session and run the following command:
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --rm -it --user $(id -u) rootproject/root-ubuntu16


To use graphics on OSX, make sure XQuarz is installed. After installing, open XQuartz, and go to XQuartz, Preferences, select the Security tab, and tick the box "Allow connections from network clients". Then exit XQuarz. Afterwards, open a terminal and run the following commands:
ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
This will grab your IP address on the local network. Run echo $ip to make sure it was successfull. If nothing is displayed, replace en0 with en1 or a higher number in the command.
xhost + $ip
This will start XQuartz and whitelist your local IP address. Finally, you can start up ROOT with the following command:
docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$ip:0 rootproject/root-ubuntu16


Each tag in this repository is ROOT built and installed inside the root-ubuntu16-base image. The tags available is the latest version of that particular branch. These are updated nightly if there are new commits. The snapshot tag is the last working commit in the ROOT master branch that passed all tests. It may be more unstable than other tags, but is intended for users to test and try out the bleeding edge of what is available in ROOT.


The containers are shipped with the user builder by default. This user can achieve root privileges through sudo, but it is recommended you create your own user account and remove the builder user if extending this image.


See GitHub for example Dockerfiles.


Docker Pull Command