UniK(发音 you-neek)是一款可将应用程序源编译成 unikernels(轻量级的可启动磁盘镜像),而不是编译成二进制文件的工具。
UniK 利用一个简单的 docker-like 命令行接口,使得构建 unikernels 像构建 containers 一样容易。
UniK 是为了易于扩展而构建的,允许(且鼓励)为 unikernel [编译器](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/README.md)和云计算[提供器](https://github.com/emc-advanced-dev/unik/blob/master/docs/providers/README.md)添加支持。
文档
安装UniK
**安装条件:**
*
已安装的 [Docker](http://www.oschina.net/p/docker) 和至少 8GB 的可用空间用于构建镜像的运行
*
[jq](http://www.oschina.net/p/jq)
*
[make](http://www.oschina.net/p/make)
*
[Virtualbox] (http://www.oschina.net/p/virtualbox)(如果使用 [virtualbox 提供器](https://github.com/emc-advanced-dev/unik/blob/master/docs/providers/virtualbox.md))
**安装:**
<pre class="brush:shell;toolbar: true; auto-links: false;">$ git clone https://github.com/emc-advanced-dev/unik.git
$ cd unik
$ make
$ _build/unik
Unik is a tool for compiling application source code
into bootable disk images. Unik also runs and manages unikernel
instances across infrastructures.
...</pre>
这将把 unik 放置到 unik/_build/unik 执行,通过 ./_build/unik 运行 UniK 命令,或将二进制移动到你路径的某个地方,例如 /usr/local/bin 用于随处使用 unik [command] 运行命令。
**从源代码构建 Containers**
默认情况下,make 会从 [Docker Hub](https://hub.docker.com/) 获取所有必要的 container 镜像,如果你想从源代码构建 Containers,你将需要:
*
[Golang](https://golang.org/) v1.5 或更高版本
*
$GOPATH 应设置且 $GOPATH/bin 应成你的 $PATH(见 [https://golang.org/doc/code.html#GOPATH](https://golang.org/doc/code.html#GOPATH)))
*
Apache Maven 确认 mvn 和 go 已安装以及你的 $GOPATH 已正确设置,然后只需:
<pre class="brush:shell;toolbar: true; auto-links: false;">$ make containers</pre>
**卸载**
unik binary
<pre class="brush:shell;toolbar: true; auto-links: false;">$ make uninstall</pre>
UniK docker containers
<pre class="brush:shell;toolbar: true; auto-links: false;">$ make remove-containers</pre>
支持的 unikernel 类型
rump:UniK 支持将 [Python](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/rump.md#python-3)、[Node.js](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/rump.md#nodejs) 和 [Go](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/rump.md#golang) 代码编译成 [rumprun](https://github.com/emc-advanced-dev/unik/blob/master/docs/compilers/rump.md) unikernels
OSv:UniK 支持将 Java 代码编译成 [OSv](http://osv.io/) unikernels
IncludeOS:UniK 支持将 C++ 代码 编译成 [IncludeOS](https://github.com/hioa-cs/IncludeOS)
unikernels
- 授权协议:
- 开发语言:
- Python Google Go 查看源码»
- 操作系统:
- 跨平台