環境
Mac 10.9.4
vagrant 1.6.3
VirtualBox 4.3.12
内容
vagrantで環境構築していて、共有フォルダの設定でいろいろ悩んだのでメモ。
そもそもvagrantのことをよく分かってない状態から、調べながら環境構築したので時間かかってしまった。
要件
- Vagrantで構築したゲストOSと、ホストOSのファイル共有をしたい。
- 共有するディレクトリは、ホスト側(任意の位置)、ゲスト側(apacheのDocumentRoot)
- 共有したディレクトリは、git管理する。
調べたこと
- ホスト側のVagrantfile置いてあるディレクトリと、ゲスト側の/vagarantが元々共有になっている。
→ゲスト側の指定のディレクトリを共有したいので、今回の要件には合わず。シンボリックリンク貼ったりしてみたけどダメでした。 - VirtualBoxマネージャー(GUIのアレ)経由で共有フォルダ設定しても、vagrant reloadすると設定が消える。
→vagrant側に設定しないとダメということが分かった。 - Vagrantfileにvirtualboxの共有フォルダ設定が書ける。
→これで解決した。
config.vm.synced_folder "ホスト側Vagrantfileあるディレクトリ", "ゲスト側ディレクトリ"
設定後、vagrant reloadするとvirtualboxマネージャーの共有フォルダ設定が追加されている。(=共有フォルダマウントされる。)
振り返り
途中、環境を何度か作り直したりしてるうちに、vagrant upできなくなったり、vagrant ssh接続できなくなったりしたけど、壊して作り直したら動いてしまったので、その原因は分からず・・・。まあそうやって何度もお手軽に作り直せるのがvagrantのよい点なんだろうな。
- 2014/09/03 環境を書いてなかったので、追記しました