如何使用 Docker 創建 macOS 虛擬機

如何使用 Docker 創建 macOS 虛擬機

Apple 的 macOS 是一個美學奇蹟,提供開箱即用的漂亮外觀、出色的工具,並集成了整個 Apple 生態系統。

如果您不想購買 Apple 的硬件,通常可以選擇 Hackintosh 或虛擬機。但是如果你想運行 macOS,而且你很著急,沒有比 Docker-OSX 更好的選擇了,它允許你在 Linux 上立即創建任何 macOS 虛擬機。

為什麼不設置虛擬機來運行 macOS?

虛擬機是實際計算機的數字等價物,您可以在虛擬機上運行可以在物理計算機上運行的任何軟件。您可以在 Linux 中運行 Windows,在 macOS 中運行 Linux,以及它們的任意組合。

VM 非常適合測試新操作系統或發行版、提供教程屏幕截圖以及使用無法通過​​仿真或兼容層正常工作的特定於操作系統的工具。

此類軟件的示例包括 Adob​​e 的創意套件,它最初設計用於在 Apple Macintosh 上運行,後來移植到 Windows。在 Linux 上運行 Photoshop 很困難,通常需要您使用虛擬機。

但是在 VirtualBox 或 VMware Workstation Player 中設置專用的虛擬 macOS 機器是一項耗時的操作,需要多個步驟和大量配置。您還需要下載操作系統並完成整個安裝過程。

您無需花費數小時擺弄 VM 設置,而是可以編輯視頻、創作精美的藝術品或混合新音樂。

Docker-OSX 使即時創建 macOS VM 變得容易

Docker-OSX 是一種工具,可讓您幾乎立即啟動 macOS 映像並提供接近本機的性能。只需一個命令,您就可以在桌面上運行 macOS Catalina,或者創建 macOS Big Sur、Monterey 或 Ventura 的全新安裝。如果您渴望使用舊系統,也可以使用 High Sierra 和 Mojave。

如果您擔心缺少某些 Apple 功能,Docker-OSX 支持 iPhone USB 直通,並允許您與主機系統共享目錄、文件和文件夾。

在 Linux 上開始使用 Docker-OSX

在您可以使用 Docker-OSX 在您的 Linux 系統上快速創建 macOS VM 之前,您需要安裝 Docker。

如果您使用的是 Debian 或 Ubuntu,請運行以下命令:

sudo apt install docker.io

在 Fedora、RHEL 或其衍生產品上安裝 Docker:

sudo dnf install docker

如果您使用 Arch Linux 或衍生產品,請運行:

sudo pacman -S docker

Docker 現已安裝在您的系統上。啟動並啟用它:

sudo systemctl start docker
sudo systemctl enable docker

現在將您的用戶添加到 docker 組:

sudo usermod -aG docker username

註銷,然後再次登錄以保存更改。

您還需要安裝 QEMU 和一些額外的依賴項以確保虛擬機按預期運行。要在 Debian 和 Ubuntu 上安裝 QEMU,請運行:

sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-tools

如果 Arch Linux 是您的首選發行版,請使用以下命令:

sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison iptables-nft edk2-ovmf

要在 Red Hat Enterprise Linux、Fedora、CentOS 或 Rocky Linux 上安裝 QEMU,請運行:

sudo yum install libvirt qemu-kvm

接下來,使用以下命令啟用 libvirt 並加載 KVM 內核模塊:

sudo systemctl enable --now libvirtd
sudo systemctl enable --now virtlogd
echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
sudo modprobe kvm

完成這些後,您就可以開始拉取 macOS Docker 映像了。

最直接的選擇是使用現成的 macOS Catalina 映像。儘管該操作系統於 2019 年才發布,但 Apple 於 2022 年 11 月 30 日正式停止支持它。儘管如此,它仍然是一個相對現代且功能強大的桌面,您可以使用它來完成工作。

打開終端並輸入:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" -e GENERATE_UNIQUE=true sickcodes/docker-osx:auto

使用 Docker-OSX 在 Ubuntu 上運行的 macOS Catalina

當你泡一杯茶或為你的雜貨分類時,Docker 將拉取相關圖像,當你返回時,你將看到一個 macOS Catalina 登錄屏幕。該圖像已配置為您可以立即使用用戶名“user”和密碼“alpine”登錄。

而已。終端中的一行,你正在運行帶有 20GB 虛擬硬盤的 macOS!

雖然這肯定很快,但您可能希望從頭開始安裝 macOS 並設置您自己的用戶名和密碼。Docker-OSX 提供了多個圖像可以幫助你做到這一點。只需彈出一個終端並從下面輸入適當的命令。

使用 Docker-OSX 創建乾淨的 macOS Catalina 安裝:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:latest

使用 Docker-OSX 創建乾淨的 macOS Big Sur 安裝:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:big-sur

運行以下命令以創建乾淨的 macOS Monterey 安裝:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" -e GENERATEUNIQUE=true -e MASTERPLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist'sickcodes/docker-osx:monterey

使用 Docker-OSX 創建乾淨的 macOS Ventura 安裝:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" -e GENERATEUNIQUE=true -e MASTERPLIST_URL='https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist'sickcodes/docker-osx:ventura

要創建乾淨的 macOS High Sierra 安裝,請運行:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:high-sierra

創建一個乾淨的 macOS Mojave 安裝:

docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:mojave

在 Linux 上運行 macOS 從未如此簡單!

現在,您可以毫不費力地按需創建 macOS 機器,您的創意選項沒有限制,並且您可以毫無問題地安裝 macOS 特定的應用程序。macOS 軟件生態系統與您習慣使用 Linux 的生態系統截然不同,而且幾乎沒有那麼多開源軟件。

仔細了解 Apple 的操作系統,熟悉最基本的功能,讓您的生活更輕鬆。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *