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-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 上的容器运行方式。

浙公网安备 33010602011771号