UniK(发音you-neek)是一款可将应用程序源编译成unikernels(轻量级的可启动磁盘镜像),而不是编译成二进制文件的工具。
UniK利用一个简单的 docker-like命令行接口,使得构建 unikernels像构建 containers一样容易。
UniK是为了易于扩展而构建的,允许(且鼓励)为 unikernel编译器和云计算提供器添加支持。
安装条件:
已安装的Docker和至少8GB的可用空间用于构建镜像的运行
jq
make
Virtualbox(如果使用virtualbox提供器)
安装:
$ git clone https://github.com/emc-advanced-dev/unik.git$ cd unik$ make$ _build/unikUnik is a tool for compiling application source codeinto bootable disk images. Unik also runs and manages unikernelinstances across infrastructures....这将把unik放置到unik/_build/unik执行,通过 ./_build/unik运行UniK命令,或将二进制移动到你路径的某个地方,例如 /usr/local/bin用于随处使用unik[command] 运行命令。
从源代码构建Containers
默认情况下,make会从DockerHub获取所有必要的container镜像,如果你想从源代码构建Containers,你将需要:
Golangv1.5或更高版本
$GOPATH应设置且 $GOPATH/bin应成你的 $PATH(见 https://golang.org/doc/code.html#GOPATH)
ApacheMaven确认mvn和go已安装以及你的$GOPATH已正确设置,然后只需:
$ make containers卸载
unikbinary
$ make uninstallUniKdockercontainers
$ make remove-containers支持的 unikernel类型
rump:UniK支持将Python、Node.js和Go代码编译成rumprununikernels
OSv:UniK支持将Java代码编译成OSvunikernels
IncludeOS:UniK支持将C++代码编译成IncludeOS unikernels
评论