原生 MacOS Docker 容器現已成為可能

Avilas

您是否曾經希望能夠在 macOS 上運行本機 macOS Docker 容器?好吧,現在你可以了,這要歸功於一個名為 macOS Containers 的優秀免費項目。

如果您處於幾乎任何級別的開發人員世界,您可能有使用 Docker 容器的經驗,Docker 容器因其實用性而廣受歡迎。 Docker 容器提供了一種輕量級、高效的方式來跨不同環境打包和分發應用程序和依賴項,它是獨立的,並且能夠在開發或測試應用程序、軟件、系統等時幫助快速部署、管理和可擴展性。到目前為止,MacOS 本身並不支持容器,但由於 macOS 容器,這種情況已經改變。

本機 macOS 容器正處於該項目的早期開發階段,但使用它們,您可以在 macOS 內運行 macOS、使用 Docker 構建映像並分發它們,聽起來很棒,對吧?

您需要適應一些注意事項;首先,根據開發人員的說法,該項目是“非常阿爾法”,因此顯然使用它需要您自擔風險;其次,您需要在 Mac 上禁用 SIP;第三,您需要在 Sonoma、Ventura、Monterey 或 Catalina 上安裝 Homebrew(是的,這意味著這些也是唯一受支持的 macOS 主機操作系統)。如果您對所有這些感到滿意,請查看 GitHub 上的項目,然後啟動 Homebrew 以安裝 macOS 容器並開始使用。

項目主頁位於https://macoscontainers.orgGithub 頁面在這裡。

跳入終端開始。

假設您已經安裝了 Homebrew,則需要安裝 MacFuse:
brew install --cask macfuse

接下來,您需要安裝 macOS Container Docker 版本:
brew install docker docker-buildx macOScontainers/formula/dockerd

另請閱讀:如何在 Windows Server 2016 中為 Win 和 Linux 容器安裝 Docker

完成後,啟動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 容器註冊表進行身份驗證:
echo [YOUR_ACCESS_TOKEN] | docker login ghcr.io -u [GITHUB_USERNAME] --password-stdin

最後,是時候運行您的第一個本機 macOS 容器了:
docker run --rm -it ghcr.io/macoscontainers/macos-jail/ventura:latest echo "Hello from macOS container"

這些說明來自GitHub 頁面在這裡,如果您想了解更多信息,可以參考。

還有關於這個項目的精彩討論在ycombinator 上的 HackerNews如果您從開發人員的角度對該項目感到好奇,那麼值得一試。

如您所知,Docker 容器如此流行和有用,因為它們提供了一種輕量級且有效的方式來提供一致的包,可用於在不同環境中分發和運行應用程序及其依賴項。通過將應用程序和依賴項包含在獨立的容器中,開發人員可以輕鬆確保他們的軟件在部署到的任何其他系統上一致運行,這有助於縮短開發時間、部署、擴展、管理等等。

在某些方面,Docker 鏡像和容器有點像虛擬機,但它們針對的是開發人員和軟件項目。如果您對從修補者的角度虛擬化操作系統更感興趣,或者只是為了閒逛,而不是從開發人員的角度來看,請在此處查看我們關於虛擬機的帖子。