A user-level tool to execute Docker containers without root privileges, enabling container usage in batch systems and restricted environments.
udocker is a user-level tool that enables execution of Docker containers without requiring root privileges or a Docker daemon. It solves the problem of running containerized applications in restricted environments like batch systems, grid infrastructures, and shared clusters where Docker installation is not possible or permitted. By providing a Docker-like interface and leveraging tools like PRoot and runc, it makes containers accessible to non-privileged users.
Researchers, scientists, and developers working in high-performance computing environments, grid infrastructures, and shared batch systems where they need to run containerized applications but lack administrative privileges to install Docker.
Developers choose udocker because it requires zero system administration, works entirely in user space, and provides container portability to environments where Docker cannot be deployed. Its unique selling point is enabling container usage in strictly controlled multi-user systems without compromising security or requiring privileged access.
A basic user tool to execute simple docker containers in batch or interactive systems without root privileges.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Users can install and run udocker entirely in their home directory without any system privileges or admin intervention, as highlighted in the features for user deployment.
Supports various backends like PRoot, Fakechroot, runc, crun, and Singularity, providing flexibility to adapt to different host environments and kernel capabilities.
Offers a familiar command-line interface with a subset of Docker commands such as pull, run, and create, easing adoption for users already accustomed to Docker.
Works across many Linux distributions from CentOS 6 to Ubuntu 21, including older systems where Docker might not be available, as listed in the advantages.
Enables execution of GPGPU applications within containers when NVIDIA drivers are available on the host, useful for scientific and machine learning workloads.
Lacks robust container isolation features; containers run inside the user environment with minimal barriers, making it unsuitable for untrusted content as noted in the security section.
Not designed for building or creating containers from scratch; it's primarily a runtime tool, so image creation requires Docker or other tools, as admitted in the limitations.
Specific engines have issues, such as Fakechroot modes preventing container movement across hosts or PRoot problems with kernels above 4.0, adding complexity and potential breakage.
For modes like Singularity, udocker requires the tool to be pre-installed on the host, which adds setup overhead and dependency management beyond the user's control.