vagrantの標準のsynced_folderではvagrant upしたときでないとホスト側の変更がゲスト側に反映されないためnfsで共有することにした
こちら参考ページ
vagrant fileに以下記述してvagrant upしてみる
config.vm.synced_folder “/Users/ユーザー名/Develop/vagrant_source/sync_folder”, “/vagrant”, type: “nfs”
やってみたが上手くいかない・・・
——————————–
Vagrant.configure(“2”) do |config|
end
——————————–
の記述が2つあったのでその中にある記述が上手く設定されなかったみたい
この部分をコメントアウトして再度実行したら
$ vagrant up
Bringing machine ‘default’ up with ‘virtualbox’ provider…
==> default: Checking if box ‘centos/7’ is up to date…
==> default: A newer version of the box ‘centos/7’ is available! You currently
==> default: have version ‘1708.01’. The latest is version ‘1801.02’. Run
==> default: `vagrant box update` to update.
==> default: Clearing any previously set forwarded ports…
==> default: Clearing any previously set network interfaces…
==> default: Preparing network interfaces based on configuration…
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports…
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM…
==> default: Waiting for machine to boot. This may take a few minutes…
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM…
default: No guest additions were detected on the base box for this VM! Guest
default: additions are required for forwarded ports, shared folders, host only
default: networking, and more. If SSH fails on this machine, please install
default: the guest additions and repackage the box to continue.
default:
default: This is not an error message; everything may continue to work properly,
default: in which case you may ignore this message.
==> default: Configuring and enabling network interfaces…
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Exporting NFS shared folders…
==> default: Preparing to edit /etc/exports. Administrator privileges will be required…
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
==> default: Mounting NFS shared folders…
==> default: Machine already provisioned. Run `vagrant provision` or use the `–provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
nfsが起動した記述もちゃんとありますね
ゲストOSに接続して確認
$ ssh 192.168.33.10
Last login: Fri Feb 16 15:36:50 2018 from 10.0.2.2
[vagrant@localhost ~]$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00 38G 2.6G 35G 7% /
devtmpfs 237M 0 237M 0% /dev
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 245M 4.4M 240M 2% /run
tmpfs 245M 0 245M 0% /sys/fs/cgroup
/dev/sda2 1014M 88M 927M 9% /boot
192.168.33.1:/Users/ユーザー名/Develop/vagrant_source/sync_folder 112G 104G 8.6G 93% /vagrant
tmpfs 49M 0 49M 0% /run/user/1000
[vagrant@localhost ~]$ cat /etc/exports
[vagrant@localhost ~]$
実際にファイルが共有されているか確認
ゲスト側
—————————————–
[vagrant@localhost ~]$ cd /vagrant/
[vagrant@localhost vagrant]$ ls
git_my_shared git_my_shared のコピー test test3 test4
[vagrant@localhost vagrant]$ mkdir test2
[vagrant@localhost vagrant]$ ls
git_my_shared git_my_shared のコピー test test2 test3 test4
[vagrant@localhost vagrant]$
—————————————–
ホスト側
$ ls
git_my_shared test3
git_my_shared のコピー test4
test
$ ls
git_my_shared test2
git_my_shared のコピー test3
test test4
test2というフォルダがホスト側にも共有されているのが確認できました
vagrant upするたびにパスワード入力するのがめんどうなのでこちらのページを参考に設定
ホスト側で
$ sudo ./install_vagrant_sudoers.sh
Password:
/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/vagrant_sudoers.tDwryace: parsed OK
Adding vagrant commands to sudoers
これでvagrant reloadをしてパスワードを聞かれなければおk
–2018/7/25追記–
新しいMac(macOS High Sierra10.13.6)を買って試したところ上記のやり方だとうまくいかなかったので別の方法も追記します
こちらのページ参照
ホスト側のターミナルで以下実行する
$ sudo visudo
すると編集画面となるので以下を一番下に追記
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
これでおk
コメント