前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LinuxKit 使用

LinuxKit 使用

作者头像
康怀帅
发布2018-02-28 16:00:42
1.6K0
发布2018-02-28 16:00:42
举报
文章被收录于专栏:康怀帅的专栏

OS:macOS

GitHub:https://github.com/linuxkit/linuxkit

修订记录

  • 2017/12/02: 官方开始支持 VirtualBox
  • 2017/11/21: 不再需要 moby

准备

此处以 macOS 下安装为例,其他系统请在 Go 环境下编译命令。

GitHub:https://github.com/linuxkit/homebrew-linuxkit

代码语言:javascript
复制
$ brew tap linuxkit/linuxkit
$ brew install --HEAD linuxkit

# 下面的不是必须安装,我目前还不清楚它的作用

$ brew install --HEAD rtf
$ brew install --HEAD manifest-tool

这一步会安装好 linuxkit 命令。

工具升级

代码语言:javascript
复制
$ brew reinstall --HEAD linuxkit

运行官方示例

支持以下平台:

  • HyperKit (macOS)
  • Hyper-V (Windows)
  • qemu (macOS, Linux, Windows)
  • VMware (macOS, Windows)

云平台不再列举。

克隆源代码

代码语言:javascript
复制
$ git clone --depth=1 git@github.com:linuxkit/linuxkit.git

$ cd linuxkit

使用 VirtualBox

官方文档:https://github.com/linuxkit/linuxkit/blob/master/docs/platform-vbox.md

先以虚拟机方式启动,便于大家理解。

代码语言:javascript
复制
$ linuxkit build -format iso-efi linuxkit.yml

-format 参数指定输出格式,使用 linuxkit build --help 查看更多信息。

这样就生成了一个名为 linuxkit-efi.iso 的 ISO 文件。

使用 VirtualBox 挂载 ISO,勾选 启用EFI 并设置好网络后启动。浏览器访问虚拟机的 IP,即可看到 Nginx 默认页面。

或者使用命令运行。

代码语言:javascript
复制
$ linuxkit run vbox --uefi linuxkit-efi.iso

打开 VirtualBox,可以看到启动的虚拟机,在网络高级配置中,配置端口转发(例如 8080),浏览器访问 宿主机IP:8080 即可看到 Nginx 默认页面。

执行 linuxkit run vbox --help 查看更多配置参数。

使用 HyperKit

官方文档:https://github.com/linuxkit/linuxkit/blob/master/docs/platform-hyperkit.md

HyperKitmacOS 上运行的轻量级虚拟化工具包。构建、运行命令如下

代码语言:javascript
复制
$ linuxkit build linuxkit.yml

$ linuxkit run -publish 8080:80/tcp linuxkit

这里将 LinuxKit 中的 80 端口映射到了 macOS8080 端口,现在打开 127.0.0.1:8080,即可看到 Nginx 默认页面。

还有一种方法是使用 Docker for Mac 启动一个容器,在容器中可以连接到 LinuxKit 启动的系统。

连接到容器的方法:https://github.com/linuxkit/linuxkit/blob/master/docs/platform-hyperkit.md#networking

执行 linuxkit run hyperkit --help 查看更多配置参数。

注意:使用该驱动,LinuxKit 中的服务会继承 macOS 中 /etc/hosts 的配置。如果想要自定义 hosts 可以挂载配置文件。

macOS xhyve 虚拟引擎

你查看的旧教程可能以 xhyve 为例讲解 Linuxkit

不过目前官方已经删去对其的支持。我实际测试启动不起来,这里不再赘述。

关闭

执行 halt 关闭 LinuxKit 启动的系统。

自定义

运行 linuxkit help 查看更多使用方法。

参考示例 linuxkit.yml 编写自定义的 name.yml,然后构建、运行。

请参考 example 文件夹下的官方示例。

参考链接

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修订记录
  • 准备
  • 运行官方示例
    • 克隆源代码
      • 使用 VirtualBox
        • 使用 HyperKit
          • macOS xhyve 虚拟引擎
          • 关闭
          • 自定义
          • 参考链接
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档