概要
VagrantではVagrantfileに一行書くだけでホストマシンとフォルダの共有が出来るということなのでやってみました。
VirtualBoxの設定とmountコマンドを併用して設定するやり方もありますが、Vagrantfileに共有フォルダ設定などを書きたくない場合はそちらを使うといいかと思います。
Vagrantfile
各仮想マシンのVagrantfileの設定に以下のような項目を加えます。
# config.vm.synced_folder {host_path}, {guest_path}, option...
config.vm.synced_folder "./shared", "/home/vagrant/shared", owner: "vagrant", group: "vagrant"
- host_path : ホストマシンの共有フォルダへのパスです。Vagrantfileからの相対パスが使えます。
- guest_path : 仮想マシン上でのディレクトリパスを指定します。
Options
オプションに関しては以下の物を複数設定出来る模様です。(公式サイト)
名前 | 型 | 説明 |
---|---|---|
create | boolean | trueの場合、ホストマシンにフォルダが無かった場合作成する。 |
disabled | boolean | trueの場合、フォルダの同期が無効になります。 |
group | string | 共有フォルダのグループを指定できます。デフォルトはSSHのユーザーです。 |
mount_options | array | mountコマンドに渡す追加のmountコマンドオプションのリスト。 |
owner | string | 共有フォルダのオーナーを指定できます。デフォルトはSSHのユーザーです。 |
type | string | フォルダのタイプを指定できます。指定しない場合は最適なタイプを選んでくれるようです。(mountコマンドの-tオプション相当) |
id | string | mountポイントの名前を指定できます。デフォルトはディレクトリパスのスラッシュをアンダーバーに変換した物 |
VM再起動
これで再度vagrant up, vagrant reloadを行うと設定が反映された状態で仮想マシンが起動します。