一年前,苹果在 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-script zsh \
> ~/.zsh/completion/_container
编辑 ~/.zshrc,添加以下内容:
fpath=(~/.zsh/completion $fpath)
autoload -U compinit
compinit
重新加载:
source ~/.zshrc
使用
如果你熟悉 Docker,会发现 Container 的命令设计非常接近 Docker,因此非常容易上手。
版本检查
安装完成后,可以通过以下命令确认是否安装成功:
container --version
启动 Container 服务
与 Docker Desktop 不同,Container 采用独立的后台服务管理机制,首次使用前需要启动服务:
# 启动服务
container system start
# 查看服务状态
container system status
# 停止服务
container system stop
运行容器
首次运行会自动从镜像仓库拉取镜像并启动容器。
以 Nginx 为例:
# 运行容器
container run -p 8080:80 nginx
# 完整示例
container run \
--name nginx-demo \
--detach \
--publish 8080:80 \
--mount type=bind,source=$(pwd)/data/nginx/conf.d,target=/etc/nginx/conf.d \
--mount type=bind,source=$(pwd)/data/nginx/html,target=/usr/share/nginx/html \
nginx:latest
# 或简写参数
container run \
--name nginx-demo \
-d \
-p 8080:80 \
-e TZ=Asia/Shanghai \
-v $(pwd)/data/nginx/conf.d:/etc/nginx/conf.d \
nginx
# 查看当前运行中的容器
container list
# 查看详情
container inspect <container-id>
# 要进入容器内部
container exec -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 -t myapp:latest .
# 直接运行
container run myapp:latest
创建 Linux 环境
除了运行容器之外,Container 还提供了 Machine 功能,用于创建持久化 Linux 环境。
# 创建环境
container machine create alpine:latest --name dev
# 查看列表
container machine ls
# 进入 Machine
container machine run -n dev
# 停止
container machine stop dev
# 删除
container machine rm dev
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 上的容器运行方式。