Enroot
What is Enroot?
- A tool to turn traditional container/OS images into unprivileged sandboxes.
- It uses the same underlying technologies as containers but removes much of the isolation they inherently provide while preserving filesystem separation.
- Enroot can be thought of as an unprivileged chroot that provides facilities to import well known container image formats (e.g. Docker)
Key concepts
- Standalone (no daemon)
- Fully unprivileged and multi-user capable (no setuid binary, cgroup inheritance, per-user configuration/container store…)
- Easy to use
- No isolation (no performance overhead, simplifies HPC deployements)
- Built-in GPU support with libnvidia-container
- Facilitate collaboration and development workflows (bundles, in-memory containers...)
Usage
Import and start an Ubuntu image from DockerHub Pull the image from docker hub
enroot import docker://ubuntu
Create the container
enroot create ubuntu.sqsh
Start the container
enroot start ubuntu
If you need to run something as root inside the container, you can use the --root option.
enroot start --root ubuntu
List the existing containers
enroot list -f
Remove a container
enroot remove ubuntu