CanonicalのMultipassが便利

Multipass orchestrates virtual Ubuntu instances https://multipass.run/

brew install multipass
multipass launch --cpus 2 --disk 20G --mem 4G --name ubuntu
multipass shell ubuntu

MacOS上で上記を実行すればものの数分でUbuntu環境が手に入る。

他にもいろんなコマンドが用意されてるのでそのあたりは公式サイトやmanを参照していろいろ試して欲しい。

MultipassでUbuntuを用意できるのでVirtualBoxVagrantをブラウザからダウンロードしてインストールしなくていい。 Docker Desktop for Macでもubuntuは使えるけど永続化して使うようなものではないのでMultipassのほうがいい。

M1 Macの文脈でMultipassが話題になることが多いけど、Intel Macならなんの問題もなく使える。

Docker Desktop for Macはディスクが遅かったり有料化したりしたけどMultipass上のUbuntuのdockerなら本番環境と同じように扱えるので余計なことを考えなくて済むようになっている。

ちなみにDockerとDocker Composeはこんな感じで2行くらいずつでインストールできるようになってます。

# docker
# https://docs.docker.com/engine/install/ubuntu/
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# docker-compose
# https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

VSCodeとかRubyMineとかを使ってていい感じにマウントしたい場合はこんな感じでディレクトリは自分の好きなところを指定すればOK。

multipass mount /Users/username/targetdir ubuntu:/home/ubuntu/targetdir