如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

Docker 开源 Moby 和 LinuxKit

  • 2017 年 5 月 23 日
  • 本文字数:1341 字

    阅读完需:约 4 分钟

在奥斯汀市举办的 DockerCon 大会上,Docker 宣布了两个重大的开源项目 Moby LinuxKit 。从根本上讲,Moby 标志着 Docker 的分裂,这个 Docker 公司的开源项目已经从 GitHub 库 docker/docker 迁移到 moby/moby 。LinuxKit 提供了一套工具,用于构建“只包含运行时平台需要的组件的定制化 Linux 子系统”。

来自 Rancher 的 Darren Shepherd 在推特中将 Moby 的目标归结为:

对 Moby 感到困惑?简单来说,对于 @docker 用户而言,什么都没变。这是一个内部项目的变化,为了帮助类似 @Rancher_Labs 这样的系统构建者。

Docker 首席技术官 Solomon Hykes 对于此举的解释是:

按照设计,Moby 面向的是希望基于容器构建自己的系统的系统构建者,而不是可以使用 Docker 或其他容器平台的应用程序开发人员。Moby 项目的参与者可以从源于 Docker 的组件库中选择,或者他们也可以选择“带来自己的组件”(BYOC),包括可以打包成容器,然后混合搭配所有组件,创建一个定制化的容器系统。

人们最初对 Moby 项目的目的和 Docker 的初衷有些不解,尤其是围绕“docker”命令行工具。对此,Hykes 在推特上进行了解释:

Moby 是构建 Docker 本身(或某种类似的东西)的项目。

用户不受影响。Docker 二进制文件保持不变。

最后,为了进一步说明,一组维护人员一起在 Moby 项目的首页上添加了“ Moby 和 Docker ”的描述。后来,Hykes 手绘了一张 Moby 项目的架构草图,以及它和上下游组件的关系, Alvaro Miranda 基于此整理并创建了下图:

有关 LinuxKit 发布的博文出自 Justin Cormack 之手。他是 Docker 公司英国剑桥办公室的其中一名软件工程师。该办公室源于对 Unikernel Systems 的收购

LinuxKit 提供的工具让你可以构建只包含运行时平台所需组件的定制化 Linux 子系统。所有系统服务都是可替换的容器,任何不必要的东西都可以移除。

因此,LinuxKit 并不太关心容器内包含什么,那可以是 GoLang 'FROM SCRATCH’模式、Alpine Linux 或者其他任意的发行版,这取决于用户对大小、安全表面积及工具熟悉度的要求。Docker 还宣布了多阶段构建,在构建容器时,一旦所需的二进制文件创建了出来,文件构建过程中使用的工具就可以去掉了。LinuxKit 不同,它关注的是容器之外的东西,它提供了一种方法,用于组装最小的、并可针对特定的部署平台进行裁剪的运行时环境。因此,它和Unikernel 在概念上有许多相似之处,差别在于,它本质上仍然是Linux 内核,而不是一个专用的二进制文件。“刚刚够操作系统( JeOS )”是一个源于云计算初期的概念,随着像 rPath 这样的公司创建了最小系统镜像工具而出现;LinuxKit 利用容器的普及,将这种方法现代化,广泛简化了与依赖管理相关的问题。

两份声明主要是关于 Docker 公司本身在其所培育的容器生态系统中的地位,它们对当前用户体验的影响微乎其微。Moby 在什么是 Docker 开源项目和什么是 Docker 公司之间划出了清晰的界限;同时带来了更好的模块化。LinuxKit 带来了新的 Docker 运行方法,在某种程度上和类似 CoreOS 这样的针对容器优化过的 Linux 发行版形成了竞争。不过,其目标不止于此,因为 LinuxKit 开始将两个单独的问题(运行容器的操作系统和在操作系统中运行的容器)放在了一起,让它们成为一个一致的部署工件。

查看英文原文 Moby and LinuxKit Open Source from Docker

2017 年 5 月 23 日 19:001775
用户头像

发布了 1008 篇内容, 共 340.3 次阅读, 收获喜欢 325 次。

关注

评论

发布
暂无评论
发现更多内容

RingCentral铃盛技术干货精选合集

RingCentral铃盛

敏捷 前端 框架 技术专题合集

微信朋友圈高性能复杂度

ren

架构师训练营 4 期

重新定义分析 - EventBridge实时事件分析平台发布

阿里巴巴云原生

阿里云 云原生 EventBridge

【分布式技术专题】「OSS中间件系列」从0到1的介绍一下开源对象存储MinIO技术架构

浩宇の天尚

OSS Minio Minio 集群 文件服务器 12月日更

9倍转让,外网疯抢:科技儿童汽车的前景与“钱景”

脑极体

【docker 总结】第三篇 - Container 容器

Brave

,docker 12月日更

国产分布式数据库StarDB核心技术大揭秘二:智能运维管控

京东科技开发者

元宇宙100讲-0x004

hackstoic

精彩回顾 | Serverless Developer Meetup 12.04 深圳站

阿里巴巴云原生

阿里云 开发者 云原生 severless 线下活动

Dubbo3 Triple 协议简介与选型思考

阿里巴巴云原生

阿里云 云原生 dubbo HTTP 协议

京东云ClickHouse和ES双引擎设计在零售选品中的应用实践

京东科技开发者

问题远比答案珍贵

mtfelix

28天写作

为什么人们不喜欢 PHP?

Ethereal

14 位大咖导师集结完毕,阿里云云原生加速器就等你来

阿里巴巴云原生

阿里云 云原生 加速器 招募活动

精髓 一文带你了解VMware vSphere 网络、vSwitch、端口组!

Ethereal

【Spring Boot 快速入门】五、Spring Boot集成Lombok

小阿杰

SpringBoot 2 lombok 内容合集 签约计划第二季

国产分布式数据库StarDB核心技术大揭秘一:内核分解之数据分片

京东科技开发者

手把手快速入门Spring Boot实战系列

小阿杰

SpringBoot 2 内容合集 签约计划第二季

改变生物学研究进程:AI模型打开生命信息密码

脑极体

实验 | OSPF HMAC-SHA 扩展身份验证

Ethereal

OSPF 网络技术 HMAC-SHA 扩展身份验证

如何在 Linux 中更改主机名?运维工程师应该都知道吧!

Ethereal

Linux 运维

【Spring Boot 快速入门】二、Spring Boot集成MyBatis可以连接数据库啦!

小阿杰

SpringBoot 2 mybatis配置 内容合集 签约计划第二季

言简意赅!什么是工业交换机?

Ethereal

Go 语言快速入门指南:第二篇 变量与常量

宇宙之一粟

golang 常量 变量 签约计划第二季 12月日更

5分钟详解什么是Redis?

Ethereal

数据库 nosql redis

【Spring Boot 快速入门】三、Spring Boot集成JUnit

小阿杰

SpringBoot 2 JUnit 内容合集 签约计划第二季

KubeDL 0.4.0 - Kubernetes AI 模型版本管理与追踪

阿里巴巴云原生

阿里云 AI Kubernetes 云原生

完善跨境金融区块链服务平台,支持区域开放创新和特殊区域建设

CECBC

【教程直播第4期】揭秘数据迁移之 OceanBase CDC & OMS 社区版能力

OceanBase 数据库

数据库 开源 直播 课程 oceanbase

用户增长模型:AARRR

石云升

AARRR 28天写作 增长黑客 12月日更

【Spring Boot 快速入门】四、Spring Boot集成Swagger UI

小阿杰

SpringBoot 2 swagger 内容合集 签约计划第二季

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

Docker开源Moby和LinuxKit_Linux_Chris Swan_InfoQ精选文章