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
を利用する。
本当はalpine linuxとかで小さくしたいけどlibguestfsとかもろもろ入れるのめんどくさい(殴
上記踏まえDockerfileを記述する
FROM ubuntu:bionic
MAINTAINER syuchan1005 <syuchan.dev@gmail.com>
ENV DEBIAN_FRONTEND=noninteractive
ENV QEMU_AUDIO_DRV=none
# Install Packages and Create HDD image
RUN apt-get update && apt-get install -y \
sudo git vim \
qemu qemu-kvm qemu-utils \
libguestfs-tools linux-image-generic uml-utilities \
virt-manager libvirt-bin bridge-utils \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& git clone https://github.com/kholia/OSX-KVM.git
WORKDIR /OSX-KVM
# Create Bootable ISO
RUN git checkout -b test ded4522d17692b7d8d596f8ae3bba8f1bfaae26a \
&& rm Clover.qcow2 \
&& cd HighSierra \
&& ./clover-image.sh --iso Clover-v2.4k-4380-X64.iso \
--cfg clover/config.plist.stripped.qemu \
--img '../Clover.qcow2'
COPY start.sh /OSX-KVM
EXPOSE 5900
VOLUME /data
CMD ["./start.sh"]
ちなみにすでにDocker Hubにあげてあります. Docker Hub - (syuchan1005/osx-kvm)
コンテナの構築
今回はすでに構築済みのイメージDocker Hub - (syuchan1005/osx-kvm)を利用する
ここ(OSX-KVM)を参考にHighSierraのインストールISOを作成し,ファイルを配置する(今回は/macOS
に保存したとする)
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生活を!