Skip to content

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