ゲスト側に作成されるVagrantfileの場所によってデフォルトでは余計なディレクトリまで共有されてしまう。
なので必要なディレクトリだけ、共有したかったので設定を行いたいと思います。
環境
OS/ミドルウェア | バージョン |
---|---|
CentOS | 6.4 |
Apache | 2.2.15 |
バージョンの確認方法
[CentOS]
1 |
$ cat /etc/redhat-release |
[実行結果]
1 |
CentOS release 6.4 (Final) |
[Apache]
1 |
$ httpd -v |
[実行結果]
1 2 |
Server version: Apache/2.2.15 (Unix) Server built: Aug 15 2017 19:44:58 |
共有ディレクトリの設定
[ファイルの編集]
1 |
$ vi Vagrantfile |
[ファイルの中身]
1 2 3 4 5 6 |
# デフォルトの共有を行わない config.vm.synced_folder '.', '/vagrant', disabled: true # コマンドでcloneしたもの config.vm.synced_folder './dev', '/vagrant/dev', create: true, owner: 'vagrant', group: 'vagrant' # Eclipseからgitでcloneしたもの config.vm.synced_folder './git', '/vagrant/git', create: true, owner: 'vagrant', group: 'vagrant' |
- ホスト:Vagrantを起動するローカルPC
- ゲスト:Vagrantによって起動するOS
上記の場合は、ホストマシン側の共有フォルダのパスを.
、すなわちVagrantfile
があるフォルダとなります。仮想マシン側の共有フォルダのパスは/vagrant
となります。また、disabled: true
によって、デフォルトの共有を行わないようにしています。
config.vm.synced_folder [ホストPATH], [ゲストPATH], [オプション設定], …
オプション
create
(ブール値) – trueの場合、存在しなければホストのパスを生成する。デフォルトではfalseである。disabled
(ブール値) – trueの場合、この同期フォルダは無効かつ設定されない。これは以前に定義した同期フォルダを無効にしたり、そのほかの要因に基づいた、条件付きで定義を無効にしたりする場合に使用することができる。group
(文字列) – 同期フォルダの属するグループ。デフォルトではこれはSSHユーザである。いくつかの同期フォルダの種類ではグループの変更はサポートしていない。mount_options
(列挙) –mount
コマンドに対して受け渡すための追加的なマウントオプションのリスト。owner
(文字列) – その同期フォルダのオーナーとなるユーザ名。デフォルトではSSHユーザとなる。いくつかの同期フォルダの種類ではオーナーの変更はサポートしていない。type
(文字列) – 同期フォルダの種類。これが指定されていなければ、Vagrantはその環境に対して最も適切な同期フォルダオプションを自動的に選択するが、”nfs”のように種類を指定することができる。