LinuxKit 快速入门-VirtualBox

原文:http://collabnix.com/running-linuxkit-locally-on-oracle-virtualbox-platform-made-easy/

LinuxKit 体系结构

Linuxkit使用Docker技术重新构建Linux系统。

在LinuxKit的基础中, 是一个现代的Linux kernel,指定的kernel Docker image, 包含一个kernel和filesystem, 以及其他软件模块。最小的 init 模块 init 处理 Docker image, 展开为 base system, 包含 initcontainerd 和很少的其他工具。 从 pkg/init/. 构建而来,onboot  containers 是系统 containers, 按照顺序执行。当完成后会快速终止。 services是系统级的services, 通常在系统的整个存活期运行.  .files 是额外的一些文件,用于添加镜像。

 

LinuxKit最新进展

下面是 LinuxKit 最新的一些进展(2017.12):

 

今年早些时候, 我写了 a blog post ,里面谈到了如何手工创建 LinuxKit ISO 镜像,然后mount 到VirtualBox并运行。里面的方法较为复杂,要求转换 VMDK 文件格式到 .VDI 格式,然后到VirtualBox中注册、运行。

在VirtualBox上运行LinuxKit

这里介绍一个新的方法: linuxkit run vbox CLI, 只需要几分钟就可以启动一个 VirtualBox虚拟机。

这里,我们将看到 LinuxKit OS 如何被构建,然后打包为ISO文件,然后到VirtualBox中运行。当然,ISO文件也是可以刻到光盘、U盘,用于直接运行的,不过目前没有测试,感兴趣的可以试试。

要求:

  • MacOS Sierra 
  • Docker for Mac installed on MacOS
  • Docker Up and Running
  • Oracle VirtualBox 

复制LinuxKit Repository:

git clone https://github.com/linuxkit/linuxkit

Building the LinuxKit Tool

cd linuxkit

make

把 LinuxKit 放到可执行路径目录:

cp bin/linuxkit /usr/local/bin/

构建 ISO image

在构建Virtualbox的可运行 ISO 之前 ,我们先看一下linuxkit构建工具命令和选项:

 

现在使用 `LinuxKit build` 选项来构建 ISO image. 先看一下linuxkit build子命令:

 

运行下面的目录构建 iso-bios格式的镜像,docker.yml 在 linuxkit/examples 目录下。

linuxkit build -format iso-bios --name testbox examples/docker.yml

生成出来的 ISO image 如下所示:

 

VirtualBox中运行 ISO

Justin Cormack, 一个LinuxKit 维护者,做了一个重要的工作,带来了一个新的 CLI option linuxkit run vbox  如下所示:

运行下面的命令,初始化 LinuxKit OS 虚拟机:

linuxkit run vbox --iso test

如下所示:

到VirtualBox Manager中看一下:

打开了 Console,可以看到VM运行的情况:

 

So, you can access either through terminal or directly under the console but NOT both at the same time.

访问 Docker Service Container

To access the Docker service container, first list out the running service containers:

ctr tasks ls

This will list out the running service containers as shown below:

 

进入 docker service container 看一下Docker版本:

ctr tasks exec -t --exec-id 502 docker sh

这将允许进入 shell,如下所示。运行 docker version 命令查看当前运行的Docker版本。

 

需要注意,这些 service container缺省是没有启用网络的。你需要手动到 VirtualBox > Settings > Network > Advanced t去启用网络,如下。

 

我发起了一个 issue 到 LinuxKit Team,可以看这里: here.

我们再次回到终端控制台,拉取几个 Docker images,如下:

也可以拉取系统级的镜像来运行,如:

ctr images pull docker.io/library/nginx:latest

ctr images pull docker.io/library/docker:latest

但是,如果是ISO格式无法存储,下次启动就没有了哈。

噢 ! 我们在VirtualBox把LinuxKit OS里的 Docker service container 运行起来啦!

If you are looking out for contribution/discussion, join me at Docker Community Slack Channel.

转载于:https://my.oschina.net/u/2306127/blog/1595909

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值