This repository (udocker_tools) contains modules and execution engines for udocker.
udocker is a basic user tool to execute simple docker containers in user space without requiring root privileges. Enables download and execution of docker containers by non-privileged users in Linux systems where docker is not available. It can be used to pull and execute docker containers in Linux batch systems and interactive clusters that are managed by other entities such as grid infrastructures or externally managed batch or interactive systems.
The repository contains the following:
- Directory
utils
has several scripts both in bash and python. - Directory
tarballs
contains the tarball of each binary or library. - Directory
docs
contains theCOPYING
andLICENSE
of the binary or library tools. - Directory
data
contains the CSV andmetadata.json
with information about all binary and library tools necessary for the udocker installation CLI.
The udocker tools tarball are build in the following repository:
Execute the following script, it downloads a given version of the udocker tools tarball and unpacks it into a temporary directory:
cd utils
./download-tools.sh 1.2.10
Execute the following script, it tars and zip all binaries and libraries into individual tarballs
and puts it into this repository tarballs
directory:
cd utils
./make-tar.sh
Execute the following python script, it reads the csv data/module-keep.csv
that contains some
basic manual information about the binaries and libraries, it calculates the sha256 checksum and
produces the json file metadata.json
, containing all information needed for the udocker commands
to install one or more modules.
cd utils
python make_meta.py
At this point one needs to copy the metadata.json
to the place where it should be signed. This will
produce metadata.json.asc
that should be copied to the data
directory in this repo.
Upload metadata.json
and metadata.json.asc
to the webdav server
https://download.ncg.ingrid.pt/webdav/udocker/engines/
and the tarballs to
https://download.ncg.ingrid.pt/webdav/udocker/engines/tarballs/
, these are the URLs that udocker expects
to find these files besides this repository.
See: Contributing
Redistribution, commercial use and code changes must regard all licenses shipped with udocker. These include the udocker_tools license and the individual licenses of the external tools and libraries packaged for use with udocker.
- Docker: https://www.docker.com/
- PRoot:
- Fakechroot:
- https://github.com/dex4er/fakechroot/wiki
- For libfakechroot-glibc: https://github.com/jorge-lip/libfakechroot-glibc-udocker
- For libfakechroot-musl: https://github.com/jorge-lip/libfakechroot-musl-udocker
- runC https://runc.io/
- crun https://github.com/containers/crun
- Singularity https://www.sylabs.io/
- PatchELF:
- Open Container Initiative https://www.opencontainers.org/
- EGI-ACE https://www.egi.eu/projects/egi-ace/
- EOSC-Synergy https://www.eosc-synergy.eu/
- LIP https://www.lip.pt
- INCD https://www.incd.pt