
皆さん、こんにちはこんばんは。
MacのM1チップで開発用に仮想環境を用意したくてVirtualBoxを使おうと思っていたんですが、なんとM1チップに対応していないことが分かりました。
今回はVirtualBoxが使えない時にUbuntuの仮想環境が作成できるMultipassというツールをご紹介したいと思います。
Multipassをインストール
まずはこちらの公式サイトからMultipassをインストールしましょう。
インストールが完了したらコマンドラインから実行して正常にインストールできたか確認してみます。
1 |
multipass --version |
上記のようにバージョンが表示されればOKです。
コマンドを確認する
以下に比較的よく使うコマンドを紹介していきます。
まずは必須に近いものから紹介します。
仮想マシンの作成
一番のメインとなる仮想マシンの作成コマンドです。まずはここから始まります。
1 2 |
multipass launch --cpus {num} --disk {num}G --mem {num}G --name {VM名} {ubuntu version} multipass launch --cpus 2 --disk 20G --mem 4G --name ubuntu22 22.04 |
1行目のコマンドはサンプルのコマンドになります。”{}”で囲った部分を適切変更して実行します。
2行目のコマンドは実際に”{}”で囲った部分を適切入力した状態となります。
実行したコマンドの内容としては以下の内容通りに仮想マシンが作られます。
CPU数:2
ストレージ:20GB
メモリ:4GB
仮想マシン名:ubuntu22
Ubuntuバージョン:22.04
※仮想マシン名は今後起動や停止をしたりする上で活用します。
ホストマシンをマウント
続いて仮想マシン作成後、ホストマシン(今回ではMacOS)のディレクトリをマウントしていきます。
私の場合は基本的にホストマシン側でファイルは持っておきたい派なので、よくマウントを行います。
※仮想マシン内でディレクトリ管理する場合は不要です。
1 2 |
multipass mount {ホストマシンパス} {VM名}:{VMマウント先パス} multipass mount /Users/{your name}/path/to/var/www Ubuntu22:/var/www |
1行目のコマンドはサンプルのコマンドになります。”{}”で囲った部分を適切変更して実行します。
2行目のコマンドは実際に”{}”で囲った部分を適切入力した状態となります。
仮想マシン”Ubuntu22″の”/var/www”にホストマシンのパスをマウントさせることで仮想マシンからもホストのディレクトリにアクセスできるようになります。
※ホットリロードや監視系処理が動いている場合、ホストマシンから編集をすると監視されないため注意しましょう。
仮想マシンの一覧
1 |
multipass list |
見出しの通りですが、作成した仮想マシンを一覧化することができます。
例えば、仮想マシンに対してドメインを割り当てたい場合IPアドレスが必要になりますが、稼働中の仮想マシンがある場合IPアドレスも表示されるのでhostsに書き込むことでドメインを仮想マシンに割り当てることができます。
仮想マシンの起動/停止
1 2 |
multipass start {vm名} multipass stop {vm名} |
1行目は仮想マシンの起動になります。
2行目は仮想マシンの停止になります。
shellの起動
1 |
multipass shell {vm名} |
対象の仮想マシンに対してshellを起動します。
仮想マシンで必要なモジュールやパッケージをインストールした場合などによく使います。
ここからはその他コマンドの紹介です。
仮想マシンの削除
1 |
multipass delete {vm名} |
仮想マシンを削除するコマンドです。完全削除ではなくゴミ箱に移動させる挙動になります。
削除した仮想マシンの復旧
1 |
multipass recover {vm名} |
削除した仮想マシンを復旧させるコマンドです。間違えて削除してしまった場合はこのコマンドで復旧できます。
仮想マシンの完全削除
1 |
multipass purge |
削除した仮想マシンを完全に削除するコマンドです。このコマンドはゴミ箱に存在する仮想マシンを完全に削除します。
この操作は取り消せないため慎重に実行するようにしましょう。
マウントの破棄
1 |
multipass unmount {vm名}:{VMマウント先パス} |
対象の仮想マシンにマウントされているホストディレクトリを外します。
コマンドをエイリアス化
“multipass”というコマンドを毎度打つのって結構面倒くさいですよね。
ついでに”multipass”をエイリアス化して簡素に打てるようにしたいと思います。
1 |
vi ~/.bashrc |
上記コマンドでbashrcファイルを開きます。
好きなところに以下のコードを追加して保存してください。
1 |
alias mtp="multipass" // ← これを追加 |
※”mtp”は任意で設定してください。
保存ができたらbashrcを読み込み直します。以下コマンドで読み込みましょう。
1 2 |
source ~/.bashrc mtp --version |
Multipassのバージョンが表示されればエイリアス化が正常にできています。
最後に
MacのM1チップやM2チップではダウンロードはできるんですが、セットアップ時にエラーが出てしまいVirtualBoxを使うことができません。
もしM1チップやM2チップで開発環境を作ろうと思っている方はぜひこの記事を参考にMultipassを試してみてください。