原生MacOS Docker容器现已成为可能

750 阅读3分钟

你有没有想过可以在MacOS上运行原生的MacOS Docker容器?现在你可以了,这要归功于一个叫做MacOS Containers的伟大的免费项目。

如果您在几乎任何级别的开发人员世界中,您可能都有使用Docker容器的经验,Docker容器因其实用性而广受欢迎。Docker Containers提供了一种轻量级、高效的方式来跨不同环境打包和分发应用程序和依赖项,它是独立的,能够在开发或测试应用程序、软件、系统等时帮助实现快速部署、管理和可扩展性。到目前为止,MacOS本身并不支持容器,但多亏了MacOS容器,这一点已经改变了。

原生MacOS容器是这个项目的早期开发,但使用它们可以在MacOS中运行MacOS,使用Docker构建映像并分发它们,听起来很棒,对吧?

有几点需要注意:首先,根据开发人员的说法,该项目是非常阿尔法的,因此使用它显然要自负风险;其次,你需要在Mac上禁用SIP;第三,你需要在Sonoma、Ventura、蒙特雷或Catalina上安装Homebrew(是的,这意味着这些也是唯一支持的MacOS主机操作系统)。如果你对这一切感到满意,可以在GitHub上查看这个项目,然后启动Homebrew来安装MacOS容器并开始使用。

该项目的主页在macoscontainers.org,Github的主页在这里。

跳到航站楼开始吧。

假设您已经安装了HomeBREW,您将需要安装MacFuse:BREW Install--cAsk macfuse

接下来,您需要安装MacOS Container Docker内部版本:BREW Install docker docker-Buildx macOS Containers/form/dockerd

完成后,启动tainerd:sudo BREW服务启动tainerd

然后启动dockerd:sudo BREW服务启动dockerd

接下来,通过首先为插件创建一个目录来设置BuildKit;mkdir-p~/.docker/cli-plugins

然后将构建工具包链接到Docker:ln-sfn/opt/homebrew/opt/docker-buildx/bin/docker-buildx~/.docker/cli-plugins/docker-Buildx

您现在需要向GitHub容器注册表进行身份验证:ECHO[YOUR_ACCESS_TOKEN]|docker登录ghcr.io-u[GitHub_用户名]--password-stdin

最后,是时候运行您的第一个原生MacOS容器了:Docker run--rm-it ghcr.io/macoscontainers/macos-jail/ventura:latest回应“Hello from MacOS tainer”

这些说明来自GitHub页面,如果您需要更多信息,可以参考该页面。

在HackerNews的YCombinator上也有关于这个项目的有趣讨论,如果你从开发人员的角度对这个项目感兴趣,值得一查。

正如你可能知道的,Docker容器如此流行和有用,因为它们提供了一种轻量级且高效的方式来提供一致的包,这些包可以用于在不同的环境中分发和运行应用程序及其依赖项。通过将应用程序和依赖项包含在一个独立的容器中,开发人员可以轻松地确保他们的软件在他们部署到的任何其他系统上一致运行,这有助于缩短开发时间、部署、扩展、管理等等。

在某些方面,Docker镜像和容器有点像虚拟机,但它们针对的是开发人员和软件项目。如果您对操作系统的虚拟化更感兴趣的是修补人员的角度,或者只是闲逛,而不是从开发人员的角度,请查看我们关于虚拟机的帖子。