この記事では、Vagrantで共有フォルダを設定する方法を解説しています。
言い換えれば、ファイル共有する方法の解説です。
もちろん、ホストOSとゲストOS間での共有フォルダです。
本記事の内容
- 共有フォルダを設定する環境の準備・確認
- Vagrantで共有フォルダを設定する
- ファイル共有をしてみる
それでは、上記に沿って解説していきます。
共有フォルダを設定する環境の準備・確認
本記事では、Vagrantの利用が前提です。
仮想化ソフトウェアは、Vagrantが対応していれば何でもいいです。
- Vagrant(ベイグラント)のインストール
- 仮想化ソフトウェアのインストール
- ゲストOSのインストール
簡単に言うと、仮想環境でゲストOSの稼働まで確認できていればOKです。
その状況まで確認できていれば、共有フォルダの設定が行えます。
では、上記を説明していきます。
Vagrant(ベイグラント)のインストール
Vagrantは、仮想環境の構築を簡単にしてくれます。
そして、共有フォルダの設定も驚くくらい簡単にしてくれます。
そのVagrantのインストールに関しては、次の記事で解説しています。
インストール自体も本当に簡単です。
もし、インストールしていない場合は気楽にしてみてください。
仮想化ソフトウェアのインストール
Vagrantが対応している仮想化ソフトウェアは以下。
- VirtualBox
- VMware
- Hyper-V
- Docker
仮想化ソフトウェアのオールスターですね。
本記事では、VirtualBoxを利用しています。
VirtualBoxのインストールは、次の記事で解説しています。
インストールは、簡単にできます。
本記事の内容を試す場合は、インストールしてみてください。
ゲストOSのインストール
この記事では、ホストOSはWindows 10です。
そして、その共有相手となるゲストOSがいないと何も始まりません。
本記事では、ゲストOSにUbuntu 18.04を利用しています。
もちろん、DebianでもCentOSでも何でもOKです。
Vagrantが対応している仮想化ソフトウェア上で動いているなら、どんなOSでも問題ありません。
なお、Ubuntuのインストールは次の記事で説明しています。
環境がと整っていれば、たった2つのコマンドでインストール可能です。
当記事の目的である共有フォルダの設定は、これ以上に簡単です。
では、以下で実際に設定していきます。
Vagrantで共有フォルダを設定する
仮想環境を構築したフォルダに移動します。
私の環境なら、C:\soft\vagrantです。
念のため、ゲストOSは停止しておいてください。
ここでやることは2つだけです。
- Vagrantfileファイルの変更
- 共有フォルダの作成
上記を説明していきます。
Vagrantfileファイルの変更
このフォルダ内の「Vagrantfile」をテキストエディタで開いてください。
そして、「synced_folder」という文字列がある行を探します。
Vagrantのバージョン次第ですが、初期のままなら46行目にありました。
# Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data"
ちゃんと説明も書いてありますね。
追加フォルダをゲストVMに共有します。 最初の引数は、実際のフォルダへのホスト上のパスです。 第二引数は、フォルダをマウントするゲスト上のパスです。 そして、オプションの第三引数は、必須ではないオプションのセットです。
この説明をもとにして、次のように変更します。
もちろん、コメント「#」も除去しています。
config.vm.synced_folder "./share", "/vagrant_data"
ホストOS側は、C:\soft\vagrantに共有フォルダshareを用意します。
ゲストOS側は、初期設定のままです。
Vagrantfileファイルの変更が完了したら、ファイルを上書き保存します。
共有フォルダの作成
上記で記述したshareフォルダを作成します。
ホストOS側の共有フォルダは、Vagrantが自動敵に作成はしてくれないようです。
そのため、手動で作成する必要があります。
ここまでやれば、あとはファイル共有をしてみましょう。
ファイル共有をしてみる
ゲストOSを起動させます。
私の場合なら、C:\soft\vagrantに移動して「vagrant up」を実行。
起動ログに次のような表記を確認できます。
==> default: Mounting shared folders... default: /vagrant => C:/soft/vagrant default: /vagrant_data => C:/soft/vagrant/share
無事に共有フォルダが設定されたようです。
そのまま、ゲストOSにアクセス「vagrant ssh」します。
アクセスしたら、以下のコマンドで共有フォルダ内を確認しましょう。
vagrant@ubuntu-bionic:/$ cd /vagrant_data/ vagrant@ubuntu-bionic:/vagrant_data$ ls
まだ、何もファイルはありません。
では、適当にファイルを作成します。
vagrant@ubuntu-bionic:/vagrant_data$ date > date.txt
まず、ゲストOS側で確認します。
vagrant@ubuntu-bionic:/vagrant_data$ ls date.txt
もちろん、ファイルは作成されています。
では、次にホストOS側での確認です。
ありますね。
逆も問題ありません。
逆とは、ホストOSで保存したファイルをゲストOSで確認することです。
Vagrantを使えば、フォルダ共有もこれほど簡単になります。
以上、Vagrantでフォルダ共有を設定する方法の解説を終わります。