探索边界:MacOS原生Docker容器的诞生与实现

2023年 10月 15日 99.6k 0

近期,一款名为 macOS Containers 的项目使得在 MacOS 上运行原生 Docker 容器成为可能。此项目处于早期开发阶段,但它让开发者能够在 MacOS 环境中创建和分发 Docker 镜像,实现 MacOS 容器内运行 MacOS 系统。以下是该技术的一些关键信息,以及如何在 MacOS 上配置和运行原生 Docker 容器。

macOS Containers 简介

Docker 容器因其轻量级和高效的特点而广受欢迎,它们提供了一种打包和分发应用程序及其依赖的方式,使得在不同环境中的应用部署、管理和扩展变得简单快捷。然而,MacOS 平台长期以来并未原生支持 Docker 容器,但随着 macOS Containers 项目的出现,这种局面得到了改变。

image.png

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 体验将会不断改善。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论