Vagrantにおける仮想マシンの設定 (config.vm)

投稿者 : OSCA

概要

 本稿では Vagrant で VirtualBox 仮想マシンを作成する際に、仮想マシンの設定を変更する記述について解説します。

設定項目

 Vagrant において、仮想マシンの詳細な設定は Vagrantfile に記述します。 Vagrantfile で仮想マシンに対して設定できることは、主に以下のようなことがあります。

変数名説明
config.vm.box仮想マシンで利用するBOX名
config.vm.box_url仮想マシンで利用するBOXのURL
config.vm.hostname仮想マシンに設定するホスト名
config.vm.provider仮想マシンを操作するのに利用するプロバイダー名
config.vm.provision仮想マシン作成時のプロビジョニング方法
config.vm.synced_folderホストとゲストとの間で共有するフォルダ

 それぞれに関して、次で代表的な設定をみていきましょう。

BOXの指定

 仮想マシンのもとなるBOXを指定するための記述が config.vm.box です。 Vagrant Cloud の Box のページ で公開されている Box の名前を指定します。 指定した名前のBoxをローカルで持っていればそれを利用しますし、もしローカルに持っていなければクラウドから取得してくれます。 次の例は Box に Ubuntu 16.04 を指定した例です。

Vagrant.configure("2") do |config|
...
  config.vm.box = "ubuntu/xenial64"
...
end

ホスト名の設定

 作成する仮想マシンのホスト名を変更したい場合には、config.vm.hostname を設定します。 次の例では「myhost」というホスト名になるように設定しています。

Vagrant.configure("2") do |config|
...
  config.vm.hostname = "myhost"
...
end

共有フォルダの設定

 ホストとゲストの間での共有するフォルダを設定するには config.vm.synced_folder を設定します。 一番簡単な設定の書式は次のようになっています。

config.vm.synced_folder "ホスト側のPATH", "ゲスト側のPATH"

 Vagrant デフォルトの設定は、次のように記述とイコールです。 (PATHの指定に相対パスが利用できるため、ホスト側のPATHは空文字でカレントディレクトリを指定しています。)

Vagrant.configure("2") do |config|
...
  config.vm.synced_folder "", "/vagrant"
...
end

おわりに

 本稿では Vagrant の仮想マシンの設定を行う記述について解説しました。

Vagrant入門へ戻る

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。
@engineer_osca