Как мгновенно запустить macOS на Linux с помощью Docker-OSX
TL;DR
Docker-OSX позволяет быстро поднять виртуальную машину macOS в Docker на Linux одной командой. Это удобнее и быстрее классической настройки VM: минимальная конфигурация, поддержка USB-проброса iPhone и возможность выбирать версии macOS (Catalina, Big Sur, Monterey, Ventura и др.).

macOS от Apple привлекает дизайном, удобными инструментами и плотной интеграцией в экосистему Apple. Если вы не планируете покупать Mac, есть несколько путей: Hackintosh, полноценная виртуальная машина (VirtualBox, VMware) или быстрый старт через Docker-OSX — самый оперативный способ получить рабочую macOS на Linux.
Что такое Docker-OSX
Docker-OSX — это проект, который упрощает запуск образов macOS в контейнере Docker с использованием QEMU/KVM. В одном предложении: это быстрый способ поднять полноценную macOS VM на Linux без долгой ручной установки.
Краткое определение: Docker-OSX — инструмент для мгновенного создания виртуальной машины macOS в среде Docker.
Важно: Docker-OSX использует виртуализацию (QEMU/KVM). Это не эмуляция на уровне совместимости библиотек и дает близкую к нативной производительность при наличии KVM.
Зачем не настраивать традиционную виртуальную машину вручную
Виртуальная машина — это цифровая модель компьютера, на которой можно запускать полноценную ОС, как на физическом железе. VM полезны для тестов, скриншотов, и запуска приложений, которые иначе не работают.
Однако установка macOS в VirtualBox или VMware требует много шагов: загрузка образов, подготовка контроллеров, настройка сетей и виртуальных дисков. Это может занять часы. Docker-OSX устраняет большинство этих шагов: одна команда — и у вас macOS.
Когда VM всё же предпочтительна:
- Нужен полный контроль над виртуальным оборудованием и снапшотами.
- Требуется интеграция с GUI менеджером виртуальных машин (virt-manager) и сложные сетевые настройки.
- Вы готовите конфигурацию для многопользовательской или продакшен-среды.
Быстрый старт: подготовка системы
Перед использованием Docker-OSX нужен установленный Docker, QEMU/KVM и набор зависимостей. Ниже — команды для популярных дистрибутивов. Выполняйте их с правами администратора.
Debian / Ubuntu:
sudo apt install docker.ioFedora / RHEL / производные:
sudo dnf install dockerArch Linux / производные:
sudo pacman -S dockerПосле установки Docker запустите и включите сервис:
sudo systemctl start docker
sudo systemctl enable dockerДобавьте пользователя в группу docker (замените username на своё имя):
sudo usermod -aG docker usernameВыйдите из сессии и зайдите снова, чтобы изменения вступили в силу.
Дополнительно установите QEMU и зависимости для виртуализации.
Debian / Ubuntu:
sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-toolsArch Linux:
sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison iptables-nft edk2-ovmfRHEL / Fedora / CentOS / Rocky:
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.
Первый запуск macOS в Docker-OSX
Самый быстрый вариант — готовый образ macOS Catalina. Хотя Catalina вышла в 2019 году, система остаётся функциональной для многих задач.
Откройте терминал и выполните команду:
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”. Образ создаёт виртуальный диск примерно 20 ГБ — достаточно для тестов и установки нескольких приложений.
Если вы хотите выполнить чистую установку и задать собственные учётные данные, используйте соответствующие теги образа ниже.
Чистая установка 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Чистая установка 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Чистая установка 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Полезные советы и чеклист перед запуском
- Проверьте, что ваш процессор поддерживает виртуализацию (Intel VT-x / AMD-V) и что модуль kvm загружен.
- Убедитесь, что вы добавлены в группу docker и перезашли в сессию.
- Проверьте права на /tmp/.X11-unix, чтобы контейнер мог отображать X11, или используйте VNC при необходимости.
- Для проброса iPhone убедитесь, что на хосте доступен соответствующий USB-порт и драйверы.
- Резервируйте диск и память: стандартный образ создаёт 20 ГБ виртуальный диск; увеличьте размер, если нужно.
Краткий чеклист:
- Docker установлен и запущен
- QEMU/KVM установлены и модуль kvm загружен
- Пользователь в группе docker
- Доступ к X11 или VNC
- Достаточно свободного места на диске
Когда это решение не подходит
- Если вам необходима полная поддержка Apple Silicon (M1/M2). Docker-OSX ориентирован на x86_64 эмуляцию/виртуализацию.
- Если вам требуется официальная поддержка от Apple или вы используете macOS в коммерческих целях без соответствующей лицензии — уточните юридические аспекты.
- Для тяжёлых графических задач и игр производительность может быть ниже нативной, особенно при отсутствии аппаратного ускорения GPU.
Альтернативы
- Hackintosh — установка macOS на совместимый PC: даёт нативную производительность, но сложна в поддержке.
- Обычная VM (VirtualBox/VMware) — больше контроля, больше ручной работы.
- Аренда macOS в облаке (macOS CI или macOS виртуальные машины в облачных провайдерах) — подходит для билдов и CI.
Безопасность, приватность и совместимость
- Контейнеры и образы могут содержать сторонние скрипты. Проверяйте репозиторий и Dockerfile перед запуском.
- Docker-OSX может запрашивать сетевые и USB-права. Давайте только те права, которые вы понимаете.
- Легальность запуска macOS вне устройств Apple зависит от лицензии Apple в вашей юрисдикции. Уточняйте правовые аспекты при коммерческом использовании.
Критерии приёмки
- macOS загружается до экрана приветствия.
- Вы можете войти под учётной записью (по умолчанию: “user” / “alpine” или созданной вами).
- iPhone детектируется при пробросе USB (если требуется).
- Сеть работает и вы можете установить обновления и приложения App Store (если авторизованы).
Быстрая методика тестирования (микро-SOP)
- Убедитесь в доступности KVM: sudo lsmod | grep kvm
- Запустите команду docker run для выбранного образа.
- Дождитесь скачивания и загрузки VM, проверьте логи контейнера.
- Подключитесь к графическому экрану через X11 или VNC.
- Выполните базовые проверки: вход в систему, доступ в Интернет, установка приложения.
Итог: когда стоит использовать Docker-OSX
Docker-OSX идеально подходит для быстрых тестов, демонстраций, разработки и запуска macOS-приложений на Linux без долгой настройки виртуальной машины. Это не универсальное решение для всех задач, но оно экономит часы времени и снижает порог входа.
Краткое резюме ниже поможет принять решение.
Ключевые выводы
- Docker-OSX даёт быстрый доступ к macOS на Linux одной командой.
- Требует Docker и QEMU/KVM на хосте.
- Подходит для тестов, разработки и запуска отдельных приложений; не всегда заменяет полноценную VM или нативный Mac.
Если вы хотите, могу подготовить компактный чеклист в виде файла для печати или скрипт автоматической подготовки окружения для вашей конкретной дистрибуции.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone