質問: ### 前提 現在、私はVirtualboxとvagrantを使って仮想環境を構築し、そこで自分の作ったプログラムのテストをしようと考えています。 そこで色々しらべてみたのですが、いまいち容量のえないものを質問させていただきたいと考えました。 ### 質問1 まずはじめにvagrantとVirtualboxのそれぞれの機能について、確認をさせていただきたいです。 ・VirtualBox => こいつが仮想環境の元になる、あるいは仮想環境用の設定が入った文字通りの箱で、こいつ単体でも仮想環境を作ることができる。(こいつ単体で使う場合の使い方はいまいちわかっていません。) ・vagrant => VirtualBoxの中身を設定したり、初期osをインストールするために使う。 ### 質問2 実際に色々触ってみ用としているのですが、どういう風にすればローカルに存在するファイルを仮想環境側に紐付けして使えるようになるのでしょうか? 以上の二点です。見当違いなことを書いているかもしれませんが、お許しください。
回答: [質問1] * VirtualBox:合っています。 * Vagrant:だいたい合っています。もう少し言えば、「VirtualBoxだけでもできることを大幅に自動化し、さらに成果物(OS全体のイメージ)を他者と共用できるしくみを入れた」という感じでしょうか。 [質問2] * VirtualBox でやる場合、(個々の仮想マシン)>[設定]>[共有フォルダー] * Vagrant でやる場合、config.vm.synced_folder ただ、それぞれ個別に開発されていて、逐次バージョンアップが行われます。 実際使い続けていると、それぞれのバージョンで新たに作り込まれた不具合でハマることも多々あります。このへんは経験を積んでいくしかなさそうな気がします。 特に共有フォルダー機能はホスト OS によって実現方法も異なりますので、「こうやれば正解」というのが、その導入時期やそのホスト OS の種類・バージョンによって組み合わせが何種類もある感じです。 Vagrant+VirtualBox に限りませんが、設定でハマる危険性を最小にするためには「常に最新の OS を使う」というのが鉄則だと感じています。