runq - 基于 hypervisor 的 Docker 运行时


Apache-2.0
跨平台
Google Go

软件简介

runq 是一个基于 hypervisor 的 Docker 运行时,基于
runc 在轻量级的 KVM/Qemu 虚拟机上运行普通的 Docker
镜像。旨在解决实际的问题,而不是堆叠功能。

功能特性

  • 设计简约,代码量少

  • 没有对现有的 Docker 工具进行修改 (dockerd, containerd, runc…)

  • runq 容器和普通的 runc 容器可共存

  • 在 Docker 之外没有额外的状态(没有 libvirt,没有更改 /var/run/…)

  • 简单的 init 守护进程,没有 systemd,没有 busybox

  • 不需要自定义访客内核或自定义 qemu

  • 可在 x86_64 和 s390x 上运行

runc vs. runq

       runc container                   runq container
       +-------------------------+      +-------------------------+
       |                         |      | +---------------------+ |
       |                         |      | |                  VM | |
       |                         |      | |                     | |
       |                         |      | |                     | |
       |       application       |      | |     application     | |
       |                         |      | |                     | |
       |                         |      | |                     | |
       |                         |      | +---------------------+ |
       |                         |      | |     guest kernel    | |
       |                         |      | +---------------------+ |
       |                         |      |           qemu          |
       +-------------------------+      +-------------------------+
 ----------------------------------------------------------------------
                                host kernel