{"id":19943213,"url":"https://github.com/root-project/root-docker","last_synced_at":"2025-05-09T00:07:26.488Z","repository":{"id":33700636,"uuid":"137067759","full_name":"root-project/root-docker","owner":"root-project","description":"Docker recipes for ROOT","archived":false,"fork":false,"pushed_at":"2024-12-06T13:34:36.000Z","size":147,"stargazers_count":31,"open_issues_count":5,"forks_count":35,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-09T00:07:18.260Z","etag":null,"topics":["containers","docker","root","root-cern"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/root-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-12T12:22:31.000Z","updated_at":"2025-01-17T00:31:47.000Z","dependencies_parsed_at":"2024-06-19T21:31:16.187Z","dependency_job_id":"678a7f08-3a09-476e-b95b-329838f6f4a7","html_url":"https://github.com/root-project/root-docker","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Froot-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Froot-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Froot-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Froot-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/root-project","download_url":"https://codeload.github.com/root-project/root-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166520,"owners_count":21864482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containers","docker","root","root-cern"],"created_at":"2024-11-13T00:15:48.408Z","updated_at":"2025-05-09T00:07:26.452Z","avatar_url":"https://github.com/root-project.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Quick reference\n\nMaintained by: [the ROOT team](https://root.cern/) and collaborators\n\nWhere to get help: [the ROOT forum](https://root-forum.cern.ch/)\n\n## Supported tags and respective Dockerfile links\n\n### Latest images\n\n* [`latest`](https://github.com/root-project/root-docker/blob/6.34.00-ubuntu24.10/ubuntu2410/Dockerfile) -\u003e [`6.34.00-ubuntu24.10`](https://github.com/root-project/root-docker/blob/6.34.00-ubuntu24.10/ubuntu2410/Dockerfile)\n\n### Archive\n* [`6.34.00-ubuntu24.10`](https://github.com/root-project/root-docker/blob/6.34.00-ubuntu24.10/ubuntu2410/Dockerfile)\n* [`6.34.00-ubuntu24.04`](https://github.com/root-project/root-docker/blob/6.34.00-ubuntu24.04/ubuntu2404/Dockerfile), [`6.32.04-ubuntu24.04`](https://github.com/root-project/root-docker/blob/6.32.04-ubuntu24.04/ubuntu2404/Dockerfile), [`6.32.02-ubuntu24.04`](https://github.com/root-project/root-docker/blob/6.32.02-ubuntu24.04/ubuntu2404/Dockerfile), [`6.32.00-ubuntu24.04`](https://github.com/root-project/root-docker/blob/6.32.00-ubuntu24.04/ubuntu2404/Dockerfile)\n* [`6.32.02-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.32.02-ubuntu22.04/ubuntu2204/Dockerfile), [`6.32.00-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.32.00-ubuntu22.04/ubuntu2204/Dockerfile), [`6.30.06-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.30.06-ubuntu22.04/ubuntu/Dockerfile), [`6.30.04-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.30.04-ubuntu22.04/ubuntu/Dockerfile), [`6.30.02-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.30.02-ubuntu22.04/ubuntu/Dockerfile), [`6.28.12-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.28.12-ubuntu22.04/ubuntu/Dockerfile),\n [`6.28.10-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.28.10-ubuntu22.04/ubuntu/Dockerfile), [`6.28.04-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.28.04-ubuntu22.04/ubuntu/Dockerfile), [`6.28.00-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.28.00-ubuntu22.04/ubuntu/Dockerfile), [`6.26.14-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.26.14-ubuntu22.04/ubuntu/Dockerfile), [`6.26.10-ubuntu22.04`](https://github.com/root-project/root-docker/tree/6.26.10-ubuntu22), [`6.26.06-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.26.06-ubuntu22.04/ubuntu/Dockerfile), [`6.26.04-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.26.04-ubuntu22.04/ubuntu/Dockerfile), [`6.26.02-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu22.04/ubuntu/Dockerfile)\n* [`6.30.06-ubuntu23.10`](https://github.com/root-project/root-docker/blob/6.30.06-ubuntu23.10/ubuntu2310/Dockerfile)\n* [`6.26.14-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.14-ubuntu20.04/ubuntu20/Dockerfile), [`6.26.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu20.04/ubuntu/Dockerfile), [`6.26.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.00-ubuntu20.04/ubuntu/Dockerfile), [`6.24.06-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.06-ubuntu20.04/ubuntu/Dockerfile), [`6.24.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.02-ubuntu20.04/ubuntu/Dockerfile), [`6.24.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.00-ubuntu20.04/ubuntu/Dockerfile), [`6.22.08-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.08-ubuntu20.04/ubuntu/Dockerfile), [`6.22.06-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.06-ubuntu20.04/ubuntu/Dockerfile), [`6.22.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.02-ubuntu20.04/ubuntu/Dockerfile), [`6.22.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.00-ubuntu20.04/ubuntu/Dockerfile), [`6.20.08-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.20.08-ubuntu20.04/ubuntu/Dockerfile)\n* [`6.30.02-conda`](https://github.com/root-project/root-docker/blob/6.30.02-conda/conda/Dockerfile), [`6.28.10-conda`](https://github.com/root-project/root-docker/blob/6.28.10-conda/conda/Dockerfile), [`6.28.04-conda`](https://github.com/root-project/root-docker/blob/6.28.04-conda/conda/Dockerfile),[`6.26.10-conda`](https://github.com/root-project/root-docker/blob/6.26.10-conda/conda/Dockerfile), [`6.26.06-conda`](https://github.com/root-project/root-docker/blob/6.26.06-conda/conda/Dockerfile), [`6.26.04-conda`](https://github.com/root-project/root-docker/blob/6.26.04-conda/conda/Dockerfile), [`6.26.00-conda`](https://github.com/root-project/root-docker/blob/6.26.00-conda/conda/Dockerfile), [`6.24.06-conda`](https://github.com/root-project/root-docker/blob/6.24.06-conda/conda/Dockerfile), [`6.24.02-conda`](https://github.com/root-project/root-docker/blob/6.24.02-conda/conda/Dockerfile), [`6.24.00-conda`](https://github.com/root-project/root-docker/blob/6.24.00-conda-3/conda/Dockerfile), [`6.22.08-conda`](https://github.com/root-project/root-docker/blob/6.22.08-conda/conda/Dockerfile), [`6.22.06-conda`](https://github.com/root-project/root-docker/blob/6.22.06-conda/conda/Dockerfile), [`6.22.02-conda`](https://github.com/root-project/root-docker/blob/6.22.02-conda/conda/Dockerfile), [`6.22.00-conda`](https://github.com/root-project/root-docker/blob/6.22.00-conda/conda/Dockerfile)\n* [`6.30.02-alma9`](https://github.com/root-project/root-docker/blob/6.30.02-alma9/alma9/Dockerfile)\n* [`6.28.04-arch`](https://github.com/root-project/root-docker/blob/6.28.04-fedora37/arch/Dockerfile),[`6.26.10-arch`](https://github.com/root-project/root-docker/blob/6.26.10-arch/arch/Dockerfile), [`6.26.04-arch`](https://github.com/root-project/root-docker/blob/6.26.04-arch/arch/Dockerfile), [`6.26.00-arch`](https://github.com/root-project/root-docker/blob/6.26.00-arch/arch/Dockerfile), [`6.24.06-arch`](https://github.com/root-project/root-docker/blob/6.24.06-arch/arch/Dockerfile), [`6.24.02-arch`](https://github.com/root-project/root-docker/blob/6.24.02-arch/arch/Dockerfile), [`6.24.00-arch`](https://github.com/root-project/root-docker/blob/6.24.00-arch/arch/Dockerfile), [`6.22.06-arch`](https://github.com/root-project/root-docker/blob/6.22.06-arch/arch/Dockerfile), [`6.22.02-arch`](https://github.com/root-project/root-docker/blob/6.22.02-arch/arch/Dockerfile), [`6.22.00-arch`](https://github.com/root-project/root-docker/blob/6.22.00-arch/conda/Dockerfile), [`6.20.06-arch`](https://github.com/root-project/root-docker/blob/6.20.06-arch/arch/Dockerfile)\n* [`6.28.04-fedora37`](https://github.com/root-project/root-docker/blob/6.28.04-fedora37/fedora/Dockerfile)\n* [`6.26.10-fedora36`](https://github.com/root-project/root-docker/blob/6.26.10-fedora36/fedora/Dockerfile)\n* [`6.26.06-fedora35`](https://github.com/root-project/root-docker/blob/6.26.06-fedora35/fedora/Dockerfile), [`6.26.02-fedora35`](https://github.com/root-project/root-docker/blob/6.26.02-fedora35/fedora/Dockerfile), [`6.24.06-fedora35`](https://github.com/root-project/root-docker/blob/6.24.06-fedora35/fedora/Dockerfile)\n* [`6.22.08-fedora34`](https://github.com/root-project/root-docker/blob/6.22.08-fedora34/fedora/Dockerfile)\n* [`6.22.06-fedora33`](https://github.com/root-project/root-docker/blob/6.22.06-fedora33/fedora/Dockerfile)\n* [`6.22.02-fedora32`](https://github.com/root-project/root-docker/blob/6.22.02-fedora32/fedora/Dockerfile), [`6.22.00-fedora32`](https://github.com/root-project/root-docker/blob/6.22.00-fedora32/fedora/Dockerfile), [`6.20.06-fedora32`](https://github.com/root-project/root-docker/blob/6.20.06-fedora32/fedora/Dockerfile)\n* [`6.24.06-centos7`](https://github.com/root-project/root-docker/blob/6.24.06-centos7/centos7/Dockerfile), [`6.22.08-centos7`](https://github.com/root-project/root-docker/blob/6.22.08-centos7/centos7/Dockerfile), [`6.22.02-centos7`](https://github.com/root-project/root-docker/blob/6.22.02-centos7/cc7/Dockerfile), [`6.22.00-centos7`](https://github.com/root-project/root-docker/blob/6.22.00-centos7/cc7/Dockerfile)\n\n## Supported C++ standards\n\nIt is important to compile ROOT applications with the same C++ standard as ROOT itself was compiled with.\nDifferent images provide ROOT installations built with different C++ standards. Here is a breakdown by tag:\n\n- `latest`, `ubuntu23.10`, `ubuntu22.04`: ROOT is built with C++17\n- `ubuntu22.04` (starting from ROOT 6.24): C++14\n- `alma`, `arch`, `conda`, `fedora34`, `fedora35`, `fedora36`, `fedora37` : C++17\n- `fedora32`, `fedora33`: C++14\n- `ubuntu20.04` (up to ROOT 6.22), `centos7`: C++11\n\n## Getting started\n\nThe ROOT team provides several Docker images. In order to run containers, you must [have Docker installed](https://www.docker.com/community-edition#/download).\nYou can start a container by running the following command in your terminal which will start the latest stable release of ROOT:\n```\ndocker run --rm -it rootproject/root\n```\nNote that the `--rm` flag tells Docker to remove the container, together with its data, once it is shut down. In order to persist data, it is recommended to mount a directory on the container. For example, to mount your home directory on Linux and Mac, run:\n```\ndocker run --rm -it -v ~:/userhome --user $(id -u) rootproject/root\n```\nOn Windows, you have to specify the full path to your user directory:\n```\ndocker run --rm -it -v C:\\\\Users\\\\Username:/userhome rootproject/root\n```\n\nThe `-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.\n\n[Configuring Docker for Windows Shared Drives / Volume Mounting with AD](https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/)\n[More about mounting host directories in the container.](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume)\n\n### Enabling graphics\n\n##### Linux\nTo use graphics, make sure you are in an X11 session and run the following command:\n\n```\ndocker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --rm -it --user $(id -u) rootproject/root root\n```\n\nOn some platforms (e.g., Arch Linux) connections to the X server must be allowed explicitly by executing `xhost local:root` or an equivalent command (see e.g. [this page](https://wiki.archlinux.org/index.php/Xhost) for more information on `xhost` and its possible security implications).\n\n##### OSX\nTo use graphics on OSX, make sure [XQuarz](https://www.xquartz.org/) 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:\n```\nip=$(ifconfig en0 | grep inet | awk '$1==\"inet\" {print $2}')\n```\nThis will grab your IP address on the local network. Run `echo $ip` to make sure it was successful. If nothing is displayed, replace `en0` with `en1` or a higher number in the command.\n```\nxhost + $ip\n```\nThis will start XQuartz and whitelist your local IP address. Finally, you can start up ROOT with the following command:\n```\ndocker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$ip:0 rootproject/root root\n```\n\n##### Windows\nTo enable graphics, you must have [Xming](https://sourceforge.net/projects/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: \n``Add-Content 'C:\\Program Files (x86)\\Xming\\X0.hosts' \"`r`n10.0.75.2\"`` \nRestart Xming and start the container with the following command: \n```\ndocker run --rm -it -e DISPLAY=10.0.75.1:0 rootproject/root\n```\n\n## Examples\n[See GitHub for example Dockerfiles.](https://github.com/root-project/docker-examples)\n\n## Reproducibility of these images\n\nEven though for each image we link to the Dockerfile that produced it, in several cases running that same exact Dockerfile will _not_ result in an image identical to the one we offer. Sometimes it will even result in an image with a more recent ROOT version: this is the case for images based on rolling Linux distributions such as Arch, for example.\n\nThe `*_from_source` recipes, on the other hand, are expected to be fully reproducible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froot-project%2Froot-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froot-project%2Froot-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froot-project%2Froot-docker/lists"}