如何使用 Docker 創建 macOS 虛擬機
Apple 的 macOS 是一個美學奇蹟,提供開箱即用的漂亮外觀、出色的工具,並集成了整個 Apple 生態系統。
如果您不想購買 Apple 的硬件,通常可以選擇 Hackintosh 或虛擬機。但是如果你想運行 macOS,而且你很著急,沒有比 Docker-OSX 更好的選擇了,它允許你在 Linux 上立即創建任何 macOS 虛擬機。
為什麼不設置虛擬機來運行 macOS?
虛擬機是實際計算機的數字等價物,您可以在虛擬機上運行可以在物理計算機上運行的任何軟件。您可以在 Linux 中運行 Windows,在 macOS 中運行 Linux,以及它們的任意組合。
VM 非常適合測試新操作系統或發行版、提供教程屏幕截圖以及使用無法通過仿真或兼容層正常工作的特定於操作系統的工具。
此類軟件的示例包括 Adobe 的創意套件,它最初設計用於在 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 將拉取相關圖像,當你返回時,你將看到一個 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 的操作系統,熟悉最基本的功能,讓您的生活更輕鬆。
發佈留言