基于 hypervisor 的 Docker 运行时 runq

Apache-2.0
Google Go 查看源码»
跨平台
2018-07-11
李三石

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
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Go 调度模型

G P M 模型 定义于src/runtime/runtime2.go: G: Gourtines, 每个Goroutine对应一个G结构体,G保存Goroutine的运行堆栈,即并发任务状态。G并非执行体,每个G需要绑定到P才能被调度执行。 P:...

2018/07/31 13:52
10
0
State Threads 回调终结者

(感谢网友 @我的上铺叫路遥 投稿) 上回写了篇《一个“蝇量级”C语言协程库》,推荐了一下Protothreads,通过coroutine模拟了用户级别的multi-threading模型,虽然本身足够“轻”,杜绝了系...

2015/01/08 23:20
550
0
goroutine 相关知识7

go channel 与 java 等价操作 Go中如何实现协程 GMP 模型 Go 调度器模型与演化过程 // 声明channel变量 var syncChan = make(chan int) // 无缓冲channel,主要用于两个Goroutine之间建立同步...

03/12 16:44
1
0
State Threads

历史渊源 首先介绍一下这个库的历史渊源,从代码贡献者来看,ST不是个人作品,而是有着雄厚的商业支持和应用背景,比如服务器领域,在这里你可以看到ST曾作为Apache的多核应用模块发布。其诞...

2016/09/26 09:19
19
0
使用etop查看系统中进程信息

Erlang提供了丰富的开发工具,你认为没有的时候,很可能是你不知道它存在. 在OS中,我们经常查看操作系统的进程信息,帮助我们进行诊断。 Erlang提供了一个小工具 etop (Erlang top), 用来查...

2011/11/23 14:09
165
0
也谈goroutine调度器

Go语言在2016年再次拿下TIBOE年度编程语言称号,这充分证明了Go语言这几年在全世界范围内的受欢迎程度。如果要对世界范围内的gopher发起一次“你究竟喜欢Go的哪一点”的调查,我相信很多Gop...

2018/07/30 20:32
8
0
linux sar 命令详解

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用的使用情况、磁盘I...

2015/11/18 10:49
47
0
linux sar 命令详解

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O...

2013/04/01 10:07
12.1K
0
Linux查看服务器性能的方法

在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O? A: 在命令行方式下, 1. 查看CPU使用情况的命令...

2016/06/02 13:47
46
0
盘点linux系统中的12条性能调优命令。

性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘IO吞吐量异常,数据处理速度低于预期值的情况,又或者如CPU、内存、硬盘、网络等系统资源长期...

2016/12/17 09:04
9
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部