/vagrantにマウントしない時のやり方と注意

CentOS公式のBoxを使い、/vagrantに現在のディレクトリをマウントしない時のVagrantfileについてのメモ。

/vagrantではなく他のディレクトリにマウントする

/vagrantではなく他のディレクトリに、現在のディレクトリをマウントする時は、2つやることがある。
/appにマウントする想定で話を進める。
  • /vagrantへマウントしないようにするsynced_folderを定義する
  • /appへマウントするsynced_folderを定義する

/vagrantへマウントしないようにするsynced_folderを定義する

前者についてだが、明示的に/vagrantへのsynced_folderを定義しなくても、勝手にマウントしようとする。
これが非常に厄介だ。
そうさせないために、/vagrantへマウントしないsynced_folderを定義する必要がある。



最後のdisabled: trueがミソである。
こう書くことで、/vagrantへマウントしなくなる。

/appへマウントするsynced_folderを定義する

これは簡単。



これで/appにマウントされる。

ansible_localで構成管理する

ansible_localで構成管理する時で、/vagrantへマウントさせないとエラーを吐く。
ansible_localを指定した時は、/vagrantをカレントディレクトリとしてplaybookに指定されたファイルを探しに行く。
以下のような場合は、/vagrant/playbooks/ruby.ymlを探しに行ってしまう。



んじゃ、どうしたらカレントディレクトリを変更できるか。
Vagrantのドキュメントにあるprovisioning_pathに、そのディレクトリを指定すれば良い。



/vagrantにマウントしない時なんてそうそうないんだけど、そういうことがあれば注意していきたい。

最後に

他にも注意点はあると思うけど、今日ハマったことはこんなところなので、とりあえずこんなもんで。

早い話、provisionで/vagrantを/appにリンクさせればいいんだけどね。

コメント

このブログの人気の投稿

ElasticIPを複数利用する時の注意

新生活始まります

Deviseのメールを非同期で送信する