Skip to content

gnawux/hyper

This branch is 34 commits behind hyperhq/hyperd:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b398fa4 · Jul 5, 2018
Sep 26, 2017
Jan 18, 2018
Jul 2, 2018
Sep 23, 2015
Feb 16, 2016
Sep 6, 2017
Sep 27, 2017
Jul 5, 2018
Mar 3, 2017
Feb 8, 2018
Feb 16, 2016
May 3, 2017
Aug 11, 2016
Oct 13, 2017
Nov 15, 2017
Sep 26, 2017
Apr 12, 2018
Nov 15, 2017
Feb 8, 2018
Jan 6, 2017
Jun 11, 2018
Oct 16, 2017
Dec 13, 2017
Apr 14, 2016
Jan 18, 2018
Aug 11, 2015
Apr 4, 2017
Oct 16, 2017
Dec 13, 2017

Repository files navigation

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.

About

CLI and Daemon for Hyper

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 92.9%
  • Shell 5.6%
  • Other 1.5%