WindowsでVirtualBoxとVagrantを使った仮想環境の構築方法

tkmi
2025-02-20
2025-02-20

お疲れ様ですtkmiです。

ローカルの仮想環境って皆さん何を使っていますか?
今日はそのうちの一つ、VirtualBoxとVagrantを使った方法をご紹介します。

VirtualBoxとVagrantとは?

VirtualBoxは、オラクルが提供するオープンソースの仮想化ソフトウェアです。
これを使うことで、一つのPC上で複数の仮想マシンを実行することができます。
異なるオペレーティングシステムや開発環境を簡単にテストしたり、実験することができます。

Vagrantは、仮想環境の構築と管理を簡単にするためのツールです。
Vagrantfileと呼ばれる設定ファイルを用いて、仮想マシンの構成をコードとして管理することができます。これにより、再現性のある環境を簡単に作成し、チームメンバーと共有することが可能になります。

必要なツールのインストールと設定

Windowsの設定

まず、最初に
「コンパネ>プログラムと機能>Windowsの機能の有効化または無効化」を開きます。
VirtualBoxを使用する場合、以下の機能を有効・無効に設定してください。
無効化(☑をはずす):
・Linux用Windowsサブシステム
・Virtual Machine Platform(仮想マシンプラットフォーム)
有効化(☑をつける):
・Windowsハイパーバイザープラットフォーム

ソフトインストール

次にVirtualBoxVagrantをインストールします。
公式サイトからご自身の環境に合ったインストーラーをダウンロードし、インストールを行ってください。
今回はWindows環境にインストールします。

インストールが完了したら、コマンドプロンプトやPowerShellを開き、以下のコマンドを実行してインストールが正常に行われたか確認します。

PS C:\> vagrant --version
Vagrant 2.4.3

でVagrantのバージョンが表示されれば、インストールは成功です。

Vagrantfileの作成と仮想環境の起動

Vagrantfileは、仮想マシンの設定を記述するためのファイルです。
プロジェクトのディレクトリに移動し、以下のコマンドを実行してVagrantfileを作成します。

vagrant init

次に、Vagrantfileを編集して必要な設定を追加します。
例えば、Ubuntuの仮想マシンを使用する場合は、以下を書き換えます。

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "base"  ←これを書き換える
  config.vm.box = "ubuntu/focal64"
  config.vm.box_version = "20240821.0.1"

オプション指定でinitと同時に書き換えておくこともできます!

vagrant init ubuntu/focal64 --box-version 20240821.0.1

設定が完了したら、以下のコマンドを実行して仮想環境を起動します。

vagrant up

基本的なVagrantコマンドの使い方

Vagrantには、仮想環境を管理するための様々なコマンドがあります。以下に基本的なコマンドをいくつか紹介します。

コマンド 内容
vagrant up 仮想マシンの起動
vagrant ssh 仮想マシンにSSHで接続
vagrant halt 仮想マシンの停止
vagrant destroy 仮想マシンの削除

これらのコマンドを使いこなすことで、仮想環境の管理が非常に効率化されます。

さいごに

仮想環境を運用していると、様々な問題に直面することがあります。例えば、仮想マシンが起動しない、ネットワークに接続できないなどの問題です。

つい先日、私もdocker desktopが突然起動しなくなり、大変困ったことになりました。
作業を続けることが困難になったので急遽別の環境を作成しなければならなくなったのですが、こうやって他の方法も知っておけば、リカバリまでの時間を短縮することができると思います。