algoNote

プログラミング関連

vagrantの共有フォルダ(Synced Folder)を任意のフォルダに設定する

環境

  • ホストOS Ubuntu16.04 LTS
  • ゲストOS Ubuntu16.04 LTS
  • vagrant 1.8.5
  • virtualbox 5.0.24

やりたいこと

vagrantのSynced Folderを任意のフォルダに設定したい

手順

www.vagrantup.com

Vagrantfileの編集

Vagrantfileに以下のように追加します。

config.vm.synced_folder "workspace/", "/vagrant"

この例ではホストOS上のVMディレクトリにあるworkspaceディレクトリと、ゲストOSのルートディレクトリにあるvagrantディレクトリがSynced Folderとして設定されます。(この2つのディレクトリが共有される)
第一引数には相対パスが使えるようです。

これで$ vagrant reloadとするとうまく行くはずですが、僕の環境では問題が発生しました。

vagrant-vbguest

vagrantでフォルダを共有するにはゲストOSとホストOSのVirtualBoxのGuestAdditionのバージョンを揃える必要があるようです。バージョンが違っているとエラーが発生します。

そこで、vagrantプラグインであるvagrant-vbguestというものを利用します。
このプラグインをインストールするとゲストOSとホストOSのVirtualBoxGuestAdditionバージョンが違うときに自動的に更新してくれます。

インストール

$ vagrant plugin install vagrant-vbguest

これでOKです。

vagrant reload

$ vagrant reloadしてみてちゃんと動けば成功です。