ucan-lab / tips

5 stars 0 forks source link

Vagrant NFS同期フォルダ #1

Open ucan-lab opened 6 years ago

ucan-lab commented 6 years ago

synced_folder はホストとゲスト間でディレクトリを共有できる VirtualBox が持つ shared folders という機能を使用しています。

この代わりに nfs を使用することでファイルアクセスのパフォーマンス向上が期待できます。

NFS同期フォルダの有効化

https://www.vagrantup.com/docs/synced-folders/nfs.html#enabling-nfs-synced-folders

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

root権限要件

https://www.vagrantup.com/docs/synced-folders/nfs.html#root-privilege-requirement

NFSを構成するには、ホスト上のシステムファイルを変更する必要があります。したがって、vagrant upシーケンス中のある時点で、(通常のsudoプログラムを介して)管理者権限を求められることがあります。

Mac OSXの場合

$ sudo visudo -f /private/etc/sudoers.d/vagrant-nfs

Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
%admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE

コマンドを管理ユーザー以外でも実行できるように sudoers に追記する。

参考リンク