AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

苹果 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:003592

评论

发布
暂无评论

Linux 设备驱动系列(一)——设备驱动介绍

Linux内核拾遗

Linux内核 设备驱动

掌控基础设施,加速 DevOps 之旅:IaC 深度解析

SEAL安全

DevOps 运维 IaC

mac电脑如何使用Linux系统?PD虚拟机安装Linux系统详细教程

Rose

Linux系统 mac电脑 pd虚拟机 19

体验稳定强大的数据处理神器——Microsoft Excel LTSC 2021

Rose

Excel 数据分析 Excel 2021破解版 Excel 2021永久版 Excel 许可证

OpenHarmony napi开发-公开课

Laval小助手

苹果专业的视频下载器Downie 4 for mac的主要功能和优势

Rose

Mac 软件 视频下载工具 Downie 4许可证 Downie 4 Mac版

(含永久密钥)无缝衔接,畅享多系统!体验VMware虚拟机的强大功能

Rose

虚拟机软件 VMware Fusion 虚拟机 VM虚拟机密钥

ownips数据获取工具全面测评

Yan-英杰

TCP

探索Photoshop 2024新功能,让设计更出彩!

Rose

Photoshop 2024破解版 Photoshop 2024直装版 ps2024新功能 ps2024中文版

如何基于Django中的WebSockets和异步视图来实现实时通信功能

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

库洛游戏宣布《战双帕弥什》将启动鸿蒙原生应用开发

最新动态

Datax助力轻松迁移SQLServer数据至GreatSQL

GreatSQL

探索人工智能在测试领域的新纪元:AI编写测试用例的前景

霍格沃兹测试开发学社

✅真实对账系统是如何设计并优化的

派大星

互联网大厂面试 java 架构

软件开发流变史:从瀑布开发到敏捷开发再到DevOps

敏捷开发

DevOps 敏捷 敏捷转型 瀑布模型 IT 运维

SketchUp Pro草图大师2023中文直装版下载 mac/win

Rose

草图大师2023下载 SketchUp Pro 2023下载 SketchUp Pro 2023破解

Parallels Desktop 18:Mac上的Windows体验再升级,游戏、工作两不误

Rose

pd18虚拟机 Mac虚拟机下载 Parallels Desktop 18破解 Parallels 激活码 PD18安装教程

如何使用Microsoft Remote Desktop for Mac微软远程?

Rose

Mac软件 microsoft remote desktop 微软远程管理

前端代码规范 - JavaScript 部分规范

南城FE

JavaScript 前端 代码规范

Final Cut Pro中文版 导出视频的教程(含fcpx安装包)

Rose

Final Cut Pro中文版 FCPX下载 fcpx Final Cut Pro教程 Mac软件视频编辑

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

icons图标大全 macos big sur 软件

CorelDRAW 2024(cdr2024注册机)最新图文安装教程

Rose

CorelDRAW2024下载 CorelDRAW破解补丁 CorelDRAW中文版安装 cdr2024安装教程

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