资源算法enroot

enroot

2019-12-23 | |  44 |   0 |   0

ENROOT

A simple, yet powerful tool to turn traditional container/OS images into unprivileged sandboxes.

Enroot can be thought of as an enhanced unprivileged chroot(1). It uses the same underlying technologies as containers but removes much of the isolation they inherently provide while preserving filesystem separation.

This approach is generally preferred in high-performance environments or virtualized environments where portability and reproducibility is important, but extra isolation is not warranted.

Enroot is also similar to other tools like proot(1) or fakeroot(1) but instead relies on more recent features from the Linux kernel (i.e. user and mount namespaces), and provides facilities to import well known container image formats (e.g. Docker).

Usage example:

# Import and start an Ubuntu image from DockerHub$ enroot import docker://ubuntu
$ enroot create ubuntu.sqsh
$ enroot start ubuntu

Key Concepts

  • Adheres to the KISS principle and Unix philosophy

  • Standalone (no daemon)

  • Fully unprivileged and multi-user capable (no setuid binary, cgroup inheritance, per-user configuration/container store...)

  • Easy to use (simple image format, scriptable, root remapping...)

  • Little to no isolation (no performance overhead, simplifies HPC deployements)

  • Entirely composable and extensible (system-wide and user-specific configurations)

  • Fast Docker image import (3x to 5x speedup on large images)

  • Built-in GPU support with libnvidia-container

  • Facilitate collaboration and development workflows (bundles, in-memory containers...)

Documentation

  1. Requirements

  2. Installation

  3. Image format

  4. Configuration

  5. Standard Hooks

  6. Usage

Copyright and License

This project is released under the Apache License 2.0.

It bundles libbsd, which is available under a dual "3-clause BSD" and "ISC" license as well as makeself, which is available under a "GNU General Public License v2.0" license.
For details, see deps/libbsd/ and deps/makeself/.

Issues and Contributing

Reporting Security Issues

When reporting a security issue, do not create an issue or file a pull request.
Instead, disclose the issue responsibly by sending an email to psirt<at>nvidia.com.


上一篇:k8s-device-plugin

下一篇:retinanet-examples

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...