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
utilshas several scripts both in bash and python. - Directory
tarballscontains the tarball of each binary or library. - Directory
docscontains theCOPYINGandLICENSEof the binary or library tools. - Directory
datacontains the CSV andmetadata.jsonwith 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.10Execute 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.shExecute 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.pyAt 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
