Linux Containers on macOS: Colima, Apple container, OrbStack

macOS 内核不能直接跑 Linux 容器,所有方案都是先起一个 Linux 虚拟机,再在里面跑容器运行时。区别在于虚拟机怎么起、几个容器共用一台虚拟机、对外提供什么 CLI。 分层 层级 例子 作用 容器运行时 containerd、Docker Engine 拉镜像、起容器,跑在 Linux 里 Mac 上的 Linux 环境 Colima(基于 Lima)、Apple container、OrbStack、Docker Desktop 在 macOS 上提供 Linux 虚拟机,并把 CLI 暴露给宿主 CLI nerdctl、docker、container 用户敲的命令 containerd 和 Colima 不是同一类东西:containerd 是引擎,Colima 负责给 containerd 准备一台 Linux 虚拟机。 Colima 基于 Lima,所有容器共用一台 Linux 虚拟机 运行时可选 docker 或 containerd,选 containerd 时用 nerdctl,和 Linux 服务器上的用法一致 支持 compose(nerdctl compose 或 docker compose),可选内置 k3s MIT 协议,商用免费,只有 CLI brew install colima # native arm64 VM, use Rosetta for amd64 images colima start --arch aarch64 --vm-type vz --vz-rosetta --runtime containerd colima nerdctl -- run --rm hello-world colima list colima stop 注意 --arch x86_64 会让整台虚拟机走模拟,在 Apple Silicon 上很慢。需要 amd64 镜像时,用 arm64 虚拟机加 --platform linux/amd64 构建即可。 ...

Created 15156-10-15 · Updated 15156-10-15 · 2 min · 252 words · -