Containers
The containers are released both for docker and singularity. Singularity images are automatically propagated to CVMFS:
CVMFS path:
singularity run /cvmfs/singularity.opensciencegrid.org/eicweb/jug_xl:3.0-stable
The versioning is:
nightly - recreated every night, using master branches
testing - recreated every night, using fixed versions
4.0-stable - the latest stable version from 3.0 branch
unstable (unstable-vX.x in future) - the latest build from triggered by CI from changed repo
4.0.0 - exact tagged version
Nightly and testing are different in that nightly uses the master branch of the software, while testing uses whatever version is given at the top of the gitlab-ci.yml <https://eicweb.phy.anl.gov/containers/eic_container/-/blob/master/.gitlab-ci.yml#L68>. So testing is the precursor to the next release version.
Images structure is:
debian_base - is a container generic base container based on amd64/debian:testing
jug_dev - have all major HENP packages such as ROOT, Geant4 and DD4HEP but without detector and reconstruction. The image is used for testing purposes and automation.
jug_xl - intended to be used to run simulation and work on detectors for users. jug_dev + full simulation packages
Singularity
The below command creates the right working environment. It checks if there are CVMFS images available (which is true for JLab and BNL farms) and links them or automatically download images (which is a scenario for users laptops). It also creates eic_shell with the right environment setup, prepares the current dir to work with detector or etc.
curl https://eicweb.phy.anl.gov/containers/eic_container/-/raw/master/install.sh | bash
Please follow Use singularity how-to for full details.
Docker containers
Containers are available at eicweb namespace at the dockerhub
To load the container environment in your run scripts, you have to do nothing special. The environment is already setup with good defaults, so you can use all the programs in the container as usual and assume everything needed to run the included software is already setup.
If using this container as a basis for a new container, you can direction access the full container environment from a docker
RUN
shell command with no further action needed. For the most optimal experience, you can install your software to/usr/local
to fully integrate with the existing environment. (Note that, internally,/usr/local
is a symlink to/opt/view
).
Packages & versions
Included software:
nlohmann-json
python@3.7.8 with pip, numpy, pyyaml, pyafp, matplotlib, ipython, scipy
hepmc3@3.2.2 +python +rootio
opencascade
The singularity build exports the following applications:
eic_shell: a development shell in the image
container_dev: same as EIC shell
ipython