Vagrant入門 – Vagrant の共有フォルダ機能 (Synced Folder)

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 本稿では、ホストOSとゲストOSの間でファイルを共有するための Vagrant の共有フォルダ機能「Synced Folder」について解説します。

Synced Folders とは?

 仮想マシーンを起動して作業をしていると、ホストOSとゲストOSの間でファイルを共有したい場合があると思います。 Vagrant では、ホストOSとゲストOSの間でファイルの共有する機能を持っており、その機能を「Synced Folders」と呼んでいます。

 本来ゲストOSにファイルを送りたい場合、SCP や FTP などを利用してファイルを転送していたことを考えると、ホストOSとゲストOSの間で共有されたフォルダがあることはとても画期的で便利です。

Synced Folders の使い方

 Vagrant のデフォルトで、ホストOSとゲストOSとの間で自動的に共有フォルダが割当てられます。ホストOS側は Vagrant の仮想マシーンを作成したディレクトリ(仮想マシーンの設定ファイル「Vagrantfile」が設置されているフォルダ)、ゲストOS側には /vagrant が共有フォルダとしてマウントされ、リアルタイムでファイルを共有することができます。

共有フォルダの変更

 もちろん共有フォルダのパスの変更も可能です。 詳細な設定方法は、別稿「Vagrantにおける仮想マシンの設定 (config.vm)」を参考にして頂きたいですが、次のような設定でゲストOSとホストOS側のパスを変更することができます。

Vagrant.configure("2") do |config|
...
  config.vm.synced_folder "./data", "/vagrant"
...
end

おわりに

 本稿では Vagrant の Synced Folder 機能の概要について解説しました。 特別な設定をしなくても仮想マシーンとのファイル共有ができることはとても嬉しいですね、ぜひ便利に利用してください。

Vagrant入門へ戻る

Vagrantのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca