Vagrant: ホストOSのファイルをサーバーに送る方法
Vagrant でシェルスクリプトを使ったプロビジョニング。
http://docs.vagrantup.com/v2/provisioning/shell.html
vagrant up で作成したサーバーに、特定のファイルを送信したいという時にどうしたらいいのか?「upload_path」を使えばいいのかなと思った。
しかしこれはちょっと勘違い。upload_path は作成したサーバー内のパスを指しており、デフォルトでは「/tmp/vagrant-shell」を見ている。ここを「cat」してみると、「config.vm.provision "shell"」で指定した、シェルスクリプトがそのまま転送されていた。ふむふむ。
では、ファイル同期はどうするのか?
答えはこれだった。
http://docs.vagrantup.com/v2/synced-folders/index.html
「Vagrant」で立ち上げたサーバーには、「/vagrant/」というディレクトリが作成される。パーミッションは「drwxr-xr-x 1 vagrant vagrant」。ここには、ホストOSの「Vagrantfile」が存在するディレクトリの内容が、すべて転送されていた。(未調査:もしかして VM ファイル共有かもしれない)
Vagrantfile と同じディレクトリ内に、共有したくないものはあまりおかないほうが良さそうだ。