GithubHelp home page GithubHelp logo

feiskyer / hyper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hyperhq/hyperd

0.0 2.0 0.0 22.99 MB

CLI and Daemon for Hyper

License: Apache License 2.0

Shell 5.84% Go 88.55% Perl 0.91% HTML 0.17% Makefile 0.76% M4 0.50% Protocol Buffer 3.29%

hyper's Introduction

Build Status

HyperContainer - Hypervisor-agnostic Docker Runtime

This repo contains two parts: the daemon of HyperContainer hyperd and the CLIhyperctl.

What is HyperContainer?

HyperContainer is a hypervisor-agnostic technology that allows you to run Docker images on plain hypervisor.

Why HyperContainer?


HyperContainer combines the best from both worlds: VM and Container.

- Container VM HyperContainer
Isolation Weak, shared kernel Strong, HW-enforced Strong, HW-enforced
Portable Yes, but kernel dependent sometimes No, hypervisor dependent Yes, hypervisor agnostic and portable image
Boot Fast, sub-second Slow, tens of seconds Fast, sub-second
Performance Great OK Good, minimal resource footprint and overhead
Immutable Yes No, configuration management required Yes, only kernel+image
Image Size Small, MBs Big, GBs Small, MBs
Compatibility No, need new tools Great, everything just works Good, it is still a "Machine", much less changes
Mature Not yet Production ready, SDN, SDS, LiveMigration, etc. Yes, just plug-&-play
ROI Rebuild everything with container - Reuse your virtual infrastructure

*BYOK = bring your own kernel

Requirements

  • QEMU 2.0 or later (QEMU 2.6 or later for ARM64 Architecture)
  • Xen 4.5 and VT enabled host (for Xen support)

Installation

Ensure you are running Linux (kernel 3.8 or later) and have QEMU (version 2.0 or later) installed. Then download the binaries and install them (hyper-container and hyperstart) directly.

For the detail of installation, please refer to the documents.

For information on using the command line, just type hyperctl. You may use hyperctl <command> --help for detailed information on any specific command.

Build From Source

Clone hyperd in GoPath

> mkdir -p ${GOPATH}/src/github.com/hyperhq
> cd ${GOPATH}/src/github.com/hyperhq
> git clone https://github.com/hyperhq/hyperd.git hyperd

And make sure you have go (>= 1.7) , device-mapper-devel, and autotools, go into the hyperd dir

> ./autogen.sh
> ./configure
> make

Then you can find the binaries hyperd daemon and hyperctl cmdline tool in current directory. Before running those commands, a config file needs to be placed at /etc/hyper/config directory, and you can find a sample under ${TOP}/package/dist/etc/hyper/config. Kernel and Initrd are required for starting the hyperd daemon, you can find those files from HyperStart project.

Find out more

Contact Us

Found a bug, want to suggest a feature, or have a question? File an issue. When reporting a bug, please include which version of hyperd you are running, as shown by hyperctl --version.

hyper's People

Contributors

gnawux avatar laijs avatar gao-feng avatar feiskyer avatar carmark avatar crazykev avatar bergwolf avatar xlgao-zju avatar yaozengzeng avatar allencloud avatar resouer avatar tbronchain avatar jimmy-xu avatar gnep avatar daehyeok avatar hzmangel avatar ptptptptptpt avatar crook avatar andresgottlieb avatar liubin avatar philips avatar bketelsen avatar xiaods avatar jgillich avatar vitan avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.