news 2026/6/25 17:33:22

Docker 要慌了?苹果开源 Container,Mac 原生容器时代来了!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 要慌了?苹果开源 Container,Mac 原生容器时代来了!

一年前,苹果在 WWDC25 上正式发布 Containerization Framework,并开源了官方容器工具 Container。

如今,Container 已迎来 1.0 正式版(一周岁啦)。从最初的预览项目,到如今正在成为 Apple Silicon 运行 Linux 容器的重要工具。

那么,Mac 开发者是否可以真正卸载「 Docker Desktop 」了呢?让我们一起深入体验 Apple Container。


简介

对于 Linux 用户来说,容器可以直接运行在系统之上,因为它本质上依赖 Linux Kernel。

而 macOS 并不具有 Linux Kernel,因此无论是 Docker Desktop、OrbStack 还是 Lima,本质上都需要先启动一个 Linux 虚拟机,再在其中运行容器:

macOS ↓ Linux VM ↓ Containers

Apple Container 则采用了不同的设计方案:

macOS ├─ VM(Container A)├─ VM(Container B)└─ VM(Container C)

为每个容器分配独立的虚拟机,而不是让所有容器共享一个 Linux VM。

借助 Apple Silicon、Virtualization.framework 和 Containerization Framework 的深度优化,在获得接近容器启动速度的同时,也提供了虚拟机级别的隔离与安全性。

简单来说,传统方案是“一个 VM 运行多个容器”,而 Apple Container 则是“一个容器对应一个轻量级 VM”


安装

系统支持

目前仅支持搭载 Apple Silicon(M 系列芯片)的 Mac,并要求系统版本为 macOS 26 版本。

获取软件包

公 Zhong 号BugShare内发送苹果容器Apple Container即可获取软件安装包。

自动补全

生成补全脚本:

mkdir-p~/.zsh/completion container --generate-completion-scriptzsh\>~/.zsh/completion/_container

编辑 ~/.zshrc,添加以下内容:

fpath=(~/.zsh/completion$fpath)autoload-Ucompinit compinit

重新加载:

source~/.zshrc

使用

如果你熟悉 Docker,会发现 Container 的命令设计非常接近 Docker,因此非常容易上手。

版本检查

安装完成后,可以通过以下命令确认是否安装成功:

container--version

启动 Container 服务

与 Docker Desktop 不同,Container 采用独立的后台服务管理机制,首次使用前需要启动服务:

# 启动服务container system start# 查看服务状态container system status# 停止服务container system stop

运行容器

首次运行会自动从镜像仓库拉取镜像并启动容器。

以 Nginx 为例:

# 运行容器container run-p8080:80 nginx# 完整示例container run\--namenginx-demo\--detach\--publish8080:80\--mounttype=bind,source=$(pwd)/data/nginx/conf.d,target=/etc/nginx/conf.d\--mounttype=bind,source=$(pwd)/data/nginx/html,target=/usr/share/nginx/html\nginx:latest# 或简写参数container run\--namenginx-demo\-d\-p8080:80\-eTZ=Asia/Shanghai\-v$(pwd)/data/nginx/conf.d:/etc/nginx/conf.d\nginx# 查看当前运行中的容器container list# 查看详情container inspect<container-id># 要进入容器内部containerexec-it<container-id>/bin/sh# 查看运行日志container logs<container-id># 实时跟踪日志container logs-f<container-id># 停止容器container stop<container-id># 删除容器container delete<container-id>

管理镜像

# 查看本地镜像container image list# 删除镜像container image delete<image-name>

构建镜像

Container 同样支持 Dockerfile 文件。

# 构建镜像container build.# 指定镜像名称container build-tmyapp:latest.# 直接运行container run myapp:latest

创建 Linux 环境

除了运行容器之外,Container 还提供了 Machine 功能,用于创建持久化 Linux 环境。

# 创建环境container machine create alpine:latest--namedev# 查看列表container machinels# 进入 Machinecontainer machine run-ndev# 停止container machine stop dev# 删除container machinermdev

Machine 更适合Linux 开发环境、编译环境、测试环境、长期运行服务等(使用体验类似 WSL2)。


Docker?

短期来看 Docker 不会被取代。因为开发者真正依赖的不只是容器,更多的是 Compose、Kubernetes、插件生态、调试工具、CI/CD 集成。

但从长期来看,Apple Container 很可能成为 Apple Silicon 上运行 Linux 容器的标准方案。


写在最后

之前,Mac 开发者一直依赖 Docker Desktop、OrbStack 等第三方来运行容器,而 Apple Container 的出现,意味着 Mac 原生容器时代正式到来。

它不是一个 Docker 替代品,更代表着苹果正试图基于 Apple Silicon 和自身虚拟化技术,重新定义在 macOS 上的容器运行方式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 17:33:07

Portainer:3.7 万 Star 的容器管理工具,到底好用在哪?

文章目录Portainer&#xff1a;3.7 万 Star 的容器管理工具&#xff0c;到底好用在哪&#xff1f;核心功能为什么这个项目能火&#xff1f;实际体验适合谁用&#xff1f;Portainer&#xff1a;3.7 万 Star 的容器管理工具&#xff0c;到底好用在哪&#xff1f; 最近在 GitHub …

作者头像 李华
网站建设 2026/6/25 17:32:55

导航算法深度详解 —— 从零基础到全面理解

在外出行经常需要打车或者开车&#xff0c;每次打开导航的时候总是很好奇这么长的路程是怎么样在瞬间就完成了导航规划了&#xff0c;本文档从零基础出发&#xff0c;全面、详细、系统地讲解地图导航背后的算法原理。从最基础的图论概念&#xff0c;到Dijkstra、A*等经典寻路算…

作者头像 李华
网站建设 2026/6/25 17:27:24

GEO优化选哪家技术强?2026正规服务商对比

GEO优化技术实力核心评判标准当企业开始在AI搜索中关注品牌可见度时&#xff0c;GEO优化就成了绕不开的话题。它不像传统SEO那样只盯着搜索引擎排名&#xff0c;而是要让大模型在生成回答时&#xff0c;能够准确引用企业的核心信息&#xff0c;让品牌出现在AI对用户的推荐里。对…

作者头像 李华
网站建设 2026/6/25 17:26:47

EPIC_PROC

一、EPICI_PROC新增字段增强

作者头像 李华