近期,一款名为 macOS Containers 的项目使得在 MacOS 上运行原生 Docker 容器成为可能。此项目处于早期开发阶段,但它让开发者能够在 MacOS 环境中创建和分发 Docker 镜像,实现 MacOS 容器内运行 MacOS 系统。以下是该技术的一些关键信息,以及如何在 MacOS 上配置和运行原生 Docker 容器。
macOS Containers 简介
Docker 容器因其轻量级和高效的特点而广受欢迎,它们提供了一种打包和分发应用程序及其依赖的方式,使得在不同环境中的应用部署、管理和扩展变得简单快捷。然而,MacOS 平台长期以来并未原生支持 Docker 容器,但随着 macOS Containers 项目的出现,这种局面得到了改变。
macOS Containers 项目旨在为 MacOS 平台提供原生的 Docker 容器支持。虽然该项目目前仍处于 "非常初期" 的 alpha 阶段,但它的发布标志着 MacOS 用户现在能够享受到与 Linux 和 Windows 用户相同的 Docker 体验。值得注意的是,为了运行 macOS Containers,用户需要关闭 MacOS 的系统完整性保护(SIP),并且只有在 Sonoma、Ventura、Monterey 或 Catalina 这几个 MacOS 版本上才能运行 macOS Containers。
安装与配置
在 MacOS 上运行原生 Docker 容器需要一些特定的配置步骤,下面是具体的操作指南:
准备工作:
- 确保您的 MacOS 系统为 Sonoma、Ventura、Monterey 或 Catalina 版本之一。
- 关闭系统完整性保护(SIP)。
- 安装 Homebrew。
安装必要的软件包:
- 在终端中运行以下命令安装 MacFuse:
brew install --cask macfuse
- 接下来,安装 macOS Container Docker 构建:
brew install docker docker-buildx macOScontainers/formula/dockerd
启动容器服务:
- 启动 containerd:
sudo brew services start containerd
- 启动 dockerd:
sudo brew services start dockerd
配置 BuildKit:
- 首先为插件创建一个目录:
mkdir -p ~/.docker/cli-plugins
- 然后将 buildkit 链接到 docker:
ln -sfn /opt/homebrew/opt/docker-buildx/bin/docker-buildx ~/.docker/cli-plugins/docker-buildx
认证 GitHub 容器注册表:
- 运行以下命令,使用您的 GitHub 凭证登录 GitHub 容器注册表:
echo [YOUR_ACCESS_TOKEN] | docker login ghcr.io -u [GITHUB_USERNAME] --password-stdin
运行您的第一个原生 macOS 容器:
- 最后,运行以下命令来启动您的第一个原生 macOS 容器:
docker run --rm -it ghcr.io/macoscontainers/macos-jail/ventura:latest echo "Hello from macOS container"
以上步骤应能帮助您在 MacOS 系统上成功配置和运行原生的 Docker 容器。然而,考虑到 macOS Containers 项目仍处于早期开发阶段,可能会存在一些不稳定因素。在尝试这些步骤时,请务必小心并确保您已备份所有重要数据。
总结
原生 MacOS Docker 容器的出现为 MacOS 平台上的开发者提供了新的可能。尽管该技术仍处于早期阶段,但它展示了 Docker 在未来可能会如何利用原生平台功能,为所有平台上的用户提供优化的 Docker 体验。随着项目的进一步发展,我们有理由期待 MacOS 平台上的 Docker 体验将会不断改善。