runV
is a hypervisor-based runtime for OCF.
runV
is compatible with OCF. However, due to the difference between hypervisors and containers, the following sections of OCF don't apply to runV:
- Namespace
- Capability
- Device
linux
andmount
fields in OCI specs are ignored
The current release of runV
supports the following hypervisors:
- KVM (QEMU 2.0 or later)
- Xen (4.5 or later)
- VirtualBox (Mac OS X)
The current release of runV
supports the following distros:
- Ubuntu 64bit
- 15.04 Vivid
- 14.10 Utopic
- 14.04 Trusty
- CentOS 64bit
- 7.0
- 6.x (upgrade to QEMU 2.0)
- Fedora 20-22 64bit
- Debian 64bit
- 8.0 jessie
- 7.x wheezy (upgrade to QEMU 2.0)
# create a 'github.com/hyperhq' in your GOPATH/src
cd $GOPATH/src/github.com/hyperhq
git clone https://github.com/hyperhq/runv/
cd runv
./autogen.sh
./configure --without-xen
make
sudo make install
To run a OCF image, execute runv
with the OCF JSON format file as argument, or have a config.json
file in CWD
.
Also, a kernel and initrd images are needed too. We recommend you to build them from HyperStart repo. If not specified, runV will try to load the kernel
and initrd.img
files from CWD
.
runv --kernel kernel --initrd initrd.img
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 4352 232 ttyS0 S+ 05:54 0:00 /init
root 2 0.0 0.5 4448 632 pts/0 Ss 05:54 0:00 sh
root 4 0.0 1.6 15572 2032 pts/0 R+ 05:57 0:00 ps aux
Please check the runC example to get the container rootfs. https://github.com/opencontainers/runc#examples
And you can get a sample OCF config.json at
https://github.com/opencontainers/runc#oci-container-json-format or
simply execute runv spec
.