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