Для тестов программ, а иногда и для тестов web-сайтов в среде MacOS, иногда хочется не платить 10$ за час сервиса, эмитирующего работу MacOS, а воспользоваться имеющимися в Linux (и не только в нем) возможностями.
С чего начнем?
Поставим Docker. Как его установить для Вашего дистрибутива Linux читайте в интернетах, либо как-то так:
Debian/Ubuntu
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
Manjaro:
sudo pacman -Syu && sudo pacman -S docker
Чтобы далее без потери места на системном разделе Вы смогли запустить контейнер любого размера, нужно перенести папку docker в необходимое место (где есть много свободного места > 60 GB). Для этого:
SEE MORE: https://rtfm.co.ua/docker-izmenit-rabochuyu-direktoriyu/
Редактируйте файл:
sudo nano /etc/docker/daemon.json
Вставьте туда следующие строки:
{
"graph": "/new-folder/to/docker/"
}
Ctrl+O — сохранить, Ctrl+X — выйти.
Запустим docker:
systemctl start docker
Посмотрим в сторону SickCoders...
docker pull sickcodes/docker-osx:auto
# boot directly into a real OS X shell with a visual display [NOT HEADLESS]
docker run -it \
--device /dev/kvm \
-p 50922:10022 \
-v /new-folder/to/docker:/new-folder/to/docker \
-e "DISPLAY=${DISPLAY:-:0.0}" \
sickcodes/docker-osx:auto
Первая строка установит сам контейнер с MacOS. Последующие строки запустят его. Будьте готовы потратить +-60 GB и минут 30 времени на загрузку файлов по сети (около 22 GB), их распаковки, копирования контейнера и его запуска. После этих манипуляций, должно появится окошко с макосью, но на сколько упадет общая производительность Вашего ПК — остается загадкой.
Последующие запуски необходимо осуществлять с той же командой, только без первой строки.
Посмотреть образы:
docker images
Посмотреть запущенные образы
docker ps -a
Удалить образ
docker rm
Инициализация и сам Макос