vagrant で共有フォルダ内の同期をしてみよう!【備忘録】

こんにちは。

開発環境を作る上で、vagrantで仮想環境を作った際にvagrantとMac のローカルがリアルタイム同期できるという記事があったので、実際にやってみました。

その際の備忘録です。

vagrantとは

Vagrantとは仮想マシンを簡単に立ち上げるためのツールで、Vagrant+Virualboxで開発環境を作ったりします。boxという簡単なテンプレートがたくさんありますので、それを調べて入れ込むことが多いかなと思います。すぐに作って、すぐに壊すことができますので、とても便利です。
近年はDockerで開発環境を作ることが増えてきましたが、Vagrant+Virualboxで仮想環境を作ることも勉強になりますので、興味がある方は作ってみてください。
公式サイト:https://www.vagrantup.com/

今回やりたいこと

vagrant sshして、中のファイルを触ってページを上書きするのではなく、
ローカルを触ったら、vagrant上のファイルも変わってくれるようにする。
つまりはホストOSとゲストOSを同期させる!

ホストOSゲストOSとは

ホストOSとは仮想環境の土台となるOSで、物理サーバーにインストールされたOSです。
→MacとかWindowsで使っているOSですね。

ゲストOSとは仮想マシンでインストールされたOSのことです。
→vagrant上に入れたcentOSとかUbuntsとかのことです。

vagrantの共有フォルダ同期

Vagrantfile内の下記の記述部分に同期の設定を書いていく。

config.vm.synced_folder

config.vm.synced_folder "./test", "/var/www/html/"

このようにすると、/var/www/html/の内容を

VagrantFileがあるところに作ってくれます。

config.vm.synced_folder ./test/”, "/var/www/html/", type:"virtualbox"

今回これだけではリアルタイム同期がうまくいかなかったので、

type:"virtualbox"

config.vm.synced_folder “絶対パス”, "/var/www/html/"

ローカルの部分を絶対パスにしたところうまくいきました。

まとめ

今までの自分アホなん?と突っ込みたくなるほど、便利でした。

備忘録なので、今回はこの辺で。

それでは。