LoginSignup
267
227

More than 5 years have passed since last update.

Docker上でmacOS(HighSierra, Mojave)が動く夢を見た

Last updated at Posted at 2018-03-04

Docker Hub
Github (syuchan1005/osx-kvm)

はじめに

CIでiOS Appビルドするためだけにmac起動してたり,XamarinでStoryboardいじるためだけにmac起動しているのが嫌になったのでdocker上で動かせばいいじゃないと思った次第

インストールのISOを作るためにmacは必要です。悪しからず

構築

とりあえずKVM上でmacOSを動かす試みをしているOSX-KVM - Githubを利用する。
READMEの手順に従うとaptを使うしかないのでdockerのベースイメージはubuntu:bionicを利用する。

2018/08/30追記
Alpine linux化しました。 イメージサイズが1.6GBから25MBになりました。(gzip時

上記踏まえDockerfileを記述する

FROM alpine:edge

MAINTAINER syuchan1005 <syuchan.dev@gmail.com>

ENV QEMU_AUDIO_DRV=none \
    CORE=2 \
    MEMORY=3G \
    KEYBOARD=en-us \
    CLOVER=1 \
    INSTALLER=1

EXPOSE 5900
VOLUME /data

COPY start.sh /OSX/

RUN chmod 775 /OSX/start.sh \
    && apk add --no-cache git qemu-system-x86_64 qemu-img \
    && cd / && git clone https://github.com/kholia/OSX-KVM.git && cd /OSX-KVM \
    && git checkout -b test cfd120dd3092fb38a89544785b2a97bc93668b44 \
    && cp /OSX-KVM/OVMF_CODE.fd /OSX-KVM/OVMF_VARS-1024x768.fd /OSX-KVM/Mojave/Clover.qcow2 /OSX-KVM/boot-macOS-Mojave.sh /OSX \
    && cd /OSX && rm -rf /OSX-KVM && apk del --purge git

WORKDIR /OSX

ENTRYPOINT ["./start.sh"]

Dockerfile

ちなみにすでにDocker Hubにあげてあります. Docker Hub - (syuchan1005/osx-kvm)

コンテナの構築

今回はすでに構築済みのイメージDocker Hub - (syuchan1005/osx-kvm)を利用する
ここ(OSX-KVM)を参考にHighSierraのインストールISOを作成し,ファイルを配置する(今回は/macOSに保存したとする)
また、ファイル名はmacOS.isoでなければならない。

docker run -d --name macOS --device /dev/kvm:/dev/kvm -p 5900:5900 \
-v /macOS:/data syuchan1005/osx-kvm

を実行しポート5900に対してVNCを接続する

言語選択後, Terminalを開き

diskutil list # 128GBぐらいのdiskを確認する
diskutil eraseDisk JHFS+ macOS disk0 # 確認したdiskに変更すること

を実行後,通常通りインストールすることでmacOSを利用できるようになる。

おわりに

予想以上に書くことがなかった。
快適なmac生活を!

267
227
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
267
227