写点什么

苹果 Containerization 提供了面向 macOS 的原生 Linux 容器支持

作者:Claudio Masolo

  • 2025-06-16
    北京
  • 本文字数:1524 字

    阅读完需:约 5 分钟

大小:752.67K时长:04:16
苹果Containerization提供了面向macOS的原生Linux容器支持

苹果在2025年的全球开发者大会(WWDC)上发布了ContainerizationContainer CLI,这是一个在 Mac 上以轻量级虚拟机方式创建和运行 Linux 容器的工具。这是开发者在 macOS 上运行 Linux 容器方式的重大转变,因为这一新的开源容器化框架消除了对 Docker 等第三方工具的需求。这个基于 Swift 的框架将在 macOS 26 中直接提供原生的 Linux 容器支持,标志着苹果以安全、性能和隐私为关注点进入了容器化领域。

 

传统的容器化解决方案会在单个大型虚拟机中运行多个容器,与之不同,苹果的方法是在轻量级虚拟机中运行每个 Linux 容器。这种架构提供了多项关键的优势:

  • 增强安全性:每个容器都能获得与完整虚拟机相同的隔离级别,这显著减少了攻击面。最小的文件系统不包含核心实用程序、动态库或 libc 实现,进一步降低了安全风险。

  • 专用资源:每个容器都有自己的 IP 地址,消除了端口转发的需求,并提供了高性能的网络访问。CPU 和内存资源按容器分配,当容器不运行时不消耗资源。

  • 隐私设计:目录和文件共享基于每个容器进行,确保只有请求的容器可以访问共享内容,而不是将其暴露给共享虚拟机中的所有容器。

 

Containerization 框架广泛使用了 Swift,包括一个完全用 Swift 编写的自定义初始化系统vminitd。这个初始化系统作为每个虚拟机中的第一个进程运行,并处理如下任务:

  • 网络接口的 IP 地址分配

  • 文件系统挂载,包括容器的块设备

  • 进程启动和监管

  • 主机-容器通信的 API 管理

 

为了在没有标准库的环境中实现这一点,苹果使用Swift的静态Linux SDK直接从 macOS 交叉编译静态 Linux 二进制文件,结合musl提供静态链接支持。

 

尽管每个容器都在自己的虚拟机中运行,但苹果声称通过多项优化实现了亚秒级的启动时间:

  • 优化 Linux 内核:为容器化工作负载特别设计的自定义内核配置

  • EXT4 块设备:容器文件系统作为格式化的 EXT4 块设备进行暴露,以实现高性能访问

  • Apple Silicon 优化:整个技术栈针对苹果定制的 silicon 架构进行了优化

 

苹果为构建容器化解决方案的开发者提供了框架,并提供了一个命令行工具供立即使用。container CLI 工具提供了熟悉的类 Docker 命令:


# 拉取镜像container image pull alpine:latest

# 运行一个可进行交互的容器container run -t -i alpine:latest sh
复制代码

 

该工具提供 XPC 服务,用于存储、镜像管理、网络服务和容器运行时管理,所有这些都是使用 Containerization API 构建的。

 

苹果已经在 GitHub 上将Containerization框架和container CLI工具作为开源项目发布。代码仓库包括:

  • 框架和工具的完整源代码

  • 演示集成的示例项目

  • 技术文档和架构的概述

  • vminitd 中使用的跨平台 Swift 包

 

苹果进入容器化领域使其加入了一个已经形成的开源替代 Docker 的生态系统,这些替代方案最近获得了显著的关注。由红帽开发的Podman是最著名的 Docker 替代方案,它提供了符合 OCI 标准的容器管理,具有 daemonless 架构,消除了对 root 权限的需求。这种无 root 操作提供了增强的安全性,使 Podman 在安全至关重要的环境中特别有吸引力。其他值得注意的解决方案包括containerd,它作为 Kubernetes 使用的底层容器运行时,以及 Buildah,它专门用于在不需要完整容器运行时的情况下构建容器镜像。像LXD这样的工具专注于系统容器而不是应用程序容器,而像Rancher Desktop这样的解决方案提供了进行容器管理的用户友好的图形界面。苹果的独特方法,即在每个容器中运行自己的轻量级虚拟机,将其与这些现有解决方案区分开来,这些解决方案通常依赖于共享内核容器化技术,如 cgroups 和 namespaces。

 

Containerization 框架和 containerCLI 将随 macOS 26 提供,开源组件在 GitHub 上立即可用。开发者可以探索框架,为其开发做出贡献,并开始构建在 macOS 上原生集成 Linux 容器的解决方案。

 

查看英文原文:Apple Containerization a Native Linux Container Support for macOS

2025-06-16 16:003795

评论

发布
暂无评论

Aloudata Agent 36 问,深度解惑!

Aloudata

数据分析 大模型 指标平台 ChatBI 智能问数

千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践

阿里云大数据AI技术

大数据 阿里云 Serverless EMR

Web3项目的开发的性能测试

北京木奇移动技术有限公司

软件外包公司 APP外包公司 APP开发公司

MCP云托管最优解,揭秘国内最大MCP中文社区背后的运行时

阿里巴巴云原生

阿里云 Serverless 云原生

腾讯云全球生态大会成都峰会:一场技术与生态的深度对话

VyrnSynx

腾讯云 腾讯数字生态大会 技术嘉年华 腾讯云智能 腾讯云 AI 代码助手

跨境物流公司有必要买堡垒机吗?

行云管家

网络安全 数据安全 堡垒机 跨境电商

25年青海省正规等保测评机构名单汇总

行云管家

等保 等级保护 等保测评

谷歌A2A vs Anthropic MCP协议对比解析

测试人

人工智能

《Operating System Concepts》阅读笔记:p808-p820

codists

操作系统

别再用“过时源码”做陪玩小程序!这版代码让用户留存率飙升60%的3个狠招

DUOKE七七

Taro on Harmony :助力业务高效开发纯血鸿蒙应用

京东零售技术

上门预约家政系统平台网站/app/小程序源码

网站,小程序,APP开发定制

告别提示词混乱!梦精灵提示词管理器让创作更高效​

龙正哲

Prompt prompt 工程 提示词管理

中科曙光AI竞争力领跑全国TOP100榜单

科技热闻

如何利用科学的预算管理为企业释放更多价值

智达方通

企业管理 全面预算管理 预算管理

赋能新质生产力·智创产业新生态|2025青岛国际人工智能展会

AIOTE智博会

人工智能展览会 人工智能展会 人工智能展

Bilibili、中电信人工智能科技、商汤科技、联通云等正式加入Volcano社区用户组

华为云原生团队

云计算 容器 云原生 Volcano

签约!亚太物业标杆启胜物业携手用友采购云,共启数智采购新旅程

用友BIP

原生App和H5 App的对比

北京木奇移动技术有限公司

软件外包公司 原生APP开发 APP外包公司

原生App和H5 App的性能比较

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包

一文彻底搞懂Transformer:原理、应用与测试开发指南

测试人

人工智能

深度剖析!企业和个人本地部署 DeepSeek 的真实原因与利弊

Techinsight

敏捷开发框架下的低代码应用:交付效率与代码质量的协同优化路径

JeeLowCode低代码平台

低代码 低代码开发 低代码平台 低代码, 低代码引擎

什么是采购管理?如何做好采购管理?

积木链小链

数字化转型 数字化 智能制造

原生 APP 的性能测试

北京木奇移动技术有限公司

软件外包公司 APP外包公司 APP开发公司

AI与智能农业:如何通过精准农业提升作物产量与资源使用效率?

天津汇柏科技有限公司

人工智能

音乐NFT项目开发的性能优化

北京木奇移动技术有限公司

区块链技术 软件外包公司 音乐NFT

博睿数据受邀出席2025GOPS全球运维大会深圳站!解锁LLM技术在智能运维中的深度应用

博睿数据

普通人如何玩转 DeepSeek?本地部署攻略来了

Techinsight

必看!10 款好用的 AI 工具,个人与企业都能用

Techinsight

AI GENTS

人工智能经济爆发!哪些行业将迎来巨变?

Techinsight

苹果Containerization提供了面向macOS的原生Linux容器支持_AI&大模型_InfoQ精选文章