プログラミングをやるにあたって避けては通れない環境構築ですが、最近やっと「Vagrant」と「Virtual BOX」の違いが分かったので書いておこうと思います。いろいろ自分なりに調べて、「Virtual BOX」は野球場で「Vagrant」は野球のチームのマネージャーという例えが書いてあったりしてしっくりきませんでしたが、すごく分かりやすい記事を発見しました。自分ではこれを見たら一発で理解したのでやっぱり書いている人によって全然違うなと感じました。
●初心者のための Vagrant, Chef, VirtualBox の関係
https://qiita.com/tomoemon/items/d4c4fe0c5afcb2482ee8
●この春エンジニアなった君に使って欲しいVagrant
http://tech.furyu.jp/blog/?p=2317
●・vagrantのネットワークについて
https://qiita.com/ftakao2007/items/0ec05c2ef3c14cdbea11
Vagrantについて
Vagrantは、「Virtual BOX」をいじるためのツールである。
本当は、起動やシャットダウンをするのにはとても時間がかかるのだが、「Vagrant」というツールを使うことによってそれを簡素化できスピーディーにできて、なおかつ簡単である。
指摘があり、修正させていただきます。
ちょっと高速化と誤解しそうなので補足します。 起動やシャットダウンにかかる時間が直接減るわけではありません。 周辺設定の手間を減らせるという意味で間接的に、時間がかからなくなるということは言えると思いますが。 Vagrantはざっくりいうと仮装マシンの設定自動化ツールです。 仮装マシンを使う場合、ダウンロードしたり仮装ネットワークの設定したり、RAM/ストレージの設定したり、必要なパッケージをインストールしたり、ファイアウォールやサーバーの設定したり、SSH設定したりと、色々やることがありますが、これらを設定ファイルに基づいて自動実施してくれます。
設定ファイルに基づいて自動的に実施してくれるということですね。
勘違いしていましたが、「直接的に高速化してくれるわけではない」ということですね。
vagrant fileについて
vagrant fileはどのBoxを使うのかどの Provisioner を使うのかなどの設定するファイル
vagrant Box
Virtual Machine の元となるテンプレートを追加できる。
Boxファイルは自分で作ることも出来る
Virtual Boxについて
仮想のPC。PCの中に仮想のPCを入れることが出来る。
持っているPCが壊れていてもすぐに復旧が出来たり、違うOSを動かせたりできることがメリット。