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"]
ちなみにすでに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を利用できるようになる。
docker上でmacOS Mojave Betaが動く夢を見た pic.twitter.com/Pe13Crgxre
— しゅう (@syu_chan_1005) 2018年8月30日
おわりに
予想以上に書くことがなかった。
快適なmac生活を!