免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 680 | 回复: 1

[C] 国产原创个人开源容器引擎cocker更新至v0.22.1版本 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2018-11-18 23:18 |显示全部楼层
1. 概述1.1. cocker是什么cocker是我个人用C语言完全自研的容器引擎(对标Docker),主要解决如下工作场景中的痛点:
  • 原生支持多进程架构的容器使用模式,无须引入第三方组件。
  • 按虚拟主机方式管理容器,交互式构建镜像,写过复杂Dockerfile的人都深恶痛绝。
  • 镜像多版本共存管理。
  • (更多...)
cocker使用到了以下Linux底层技术:LXC、cgroup、overlayfs、iptables、ptms等。
1.2. 系统架构
在LXC中,容器只是内核命名空间隔离的根进程以及子进程树,隔离域有主机名字、进程空间、根文件系统、IPC、网络等。cocker完整的实现了以上所有隔离域,在容器管理设计上倾向于虚拟主机方式,也支持类似Docker的单进程方式。
cocker自带了容器根进程,负责通过伪终端方式桥接容器内外,而不是必须通过ssh。
cgroup负责隔离域的系统资源管控,包括CPU、内存等。
1.2.1. 状态迁移图
cocker镜像可以本地构建或从镜像库上传下载,镜像库目前只支持ssh服务端,后续版本中会加入cocker原生服务器。
cocker镜像允许不同版本共存,创建容器时可以指定镜像版本,或者默认最新版。镜像可以复制和删除,也可以修改版本号。
cocker容器创建出来后可以启动、关闭和销毁。修改容器属性如虚拟IP、端口映射和卷映射必须在容器关闭状态下进行。
cocker镜像可以转化为cocker容器便于交互式修改,然后再转化回来。
1.2.2. 层叠文件系统
层叠文件系统是多镜像容器的存储基础,cocker采用overlayfs作为其层叠文件系统引擎,可以叠加几乎无限的镜像层。
cocker的镜像和容器等都存放在环境变量COCKER_HOME指向的主目录中,所以规划其容量是使用前必须要考虑的问题。如果没有设置环境变量COCKER_HOME,则默认指向/var/cocker。
COCKER_HOME主目录中有镜像主目录images、容器主目录containers、ssh镜像仓库srepo,以及日志文件cocker.log。
1.2.3. 网络
cocker支持三种网络模型:HOST、CUSTOM和BRIDGE。
网络模型说明
HOST无预置网络环境
CUSTOM仅仅预置网络命名空间,不创建容器内外网卡等,由完全由用户自设置
BRIDGE预置以NAT方式的容器向宿主机的网络连通方式、自定义多组指定端口映射转发的宿主机向容器的网络连通方式首次执行cocker会创建网桥设备cocker0,网段为166.88.0.x。
1.2.4. 系统资源限制
cocker目前只实现了CPU核分配、时间片占用百分比分配、内存分配,其它系统资源在后续版本中会逐渐完善。
1.2.5. 伪终端
自带容器根进程接受客户端cocker连接后会创建伪终端会话,就像登录到虚拟主机上命令交互一样,无需使用ssh。
1.3. 快速使用使用主控工具cocker快速创建一个小型测试镜像,里面调用了自带脚本cocker_install_test.sh构建根文件系统。
然后使用指令-a boot基于刚刚创建的镜像test启动一个容器test,并且直接打开一个会话连接到容器中的伪终端...退出伪终端后,使用指令-a shutdown关闭容器,最后使用指令-a destroy销毁容器。
# cocker -a install_testOK# cocker -s imagesimage_id                       version    modify_datetime     size      --------------------------------------------------------------------test                           _          2018-11-10T09:21:12 24 MB# cocker -a create -m test -c testOK# cocker -a boot -c test -t   connect to container ok--- Welcome to cocker contrainer ---[root@test /root] exitlogout# cocker -a shutdown -c testOK# cocker -a destroy -c testOK


...

4. 最后4.1. 关于cocker欢迎使用cocker,如果你使用中碰到了问题请告诉我,谢谢 ^_^
源码托管地址 : 开源中国github
4.2. 关于作者厉华,主手C,写过小到性能卓越方便快捷的日志库、HTTP解析器、日志采集器等,大到交易平台/中间件等,分布式系统实践者,容器技术爱好者,目前在某城商行负责基础架构。
通过邮箱联系我 : 网易Gmail



评分

参与人数 1可用积分 +10 收起 理由
windoze + 10 很给力!

查看全部评分

论坛徽章:
17
2015年辞旧岁徽章
日期:2015-03-03 16:54:152017金鸡报晓
日期:2017-02-08 10:39:422017金鸡报晓
日期:2017-01-10 15:19:56JAVA
日期:2016-11-01 13:25:46C
日期:2016-10-25 16:01:4715-16赛季CBA联赛之八一
日期:2016-06-21 23:38:0815-16赛季CBA联赛之山东
日期:2016-05-12 12:49:54IT运维版块每日发帖之星
日期:2016-04-20 06:20:00IT运维版块每日发帖之星
日期:2016-03-22 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13IT运维版块每日发帖之星
日期:2015-08-25 06:20:002015亚冠之德黑兰石油
日期:2015-08-22 22:55:54
发表于 2018-11-19 12:52 |显示全部楼层
真不错,好东东,有时间试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP