Macに仮想環境作ってみた【Vagrant + Virtual Box】

ついに我が家に「Mac mini」が届きました。

いやー、非常にハッピーですね。

わくわくしながら包装を開けたんですが、やっぱりデザイン美しいですね・・・

これがMacか・・・と思いながら恐る恐る開封しました。

とりあえず仮想環境作った

というわけで、もろもろの初期設定を完了させ、今後のプログラミング学習のために仮想環境作るか、と久しぶりに「Vagrant + Virtual Box」を導入してみました。

色々と忘れているところもありつつ、微妙にwindowsと違ったりしたところもあったり気がしたので、備忘録として残しておきます。

Windowsはこちら

VirtualBox + Vagrant +Rails + Mysql で初心者が開発環境構築(Windows7)①

VirtualBox + Vagrant +Rails + Mysql で初心者が開発環境構築(Windows7)②

それではまとめスタートです。

仮想環境構築への道【for Mac】

  1. Virtual Box インストール
  2. Vagrant インストール
  3. Boxの追加(省略可能)
  4. VirtualBoxへOSを入れるための設定書作成+OSインストール
  5. 仮想環境立ち上げ

https://www.sejuku.net/blog/39936

https://qiita.com/sudachi808/items/3614fd90f9025973de4b

上記のページを参考にしながら作業しました。

が、詰まったところがあったので、そこを書いていきたいと思います。

Boxとは

上記2つのページでの相違点が「Box」です。

「Box」とは、Virtualbox が 仮想環境にOSを構築する際、必要となるOSのテンプレみたいな感じらしいです。

テンプレートであるBoxを引用してOSを構築することで、複数の異なるOSを簡単に構築、破棄、再構築をすることができるというわけですね。

VagrantはBoxをグローバルに管理しているので、一度入れてしまえば何度でも利用できます。

Box含めの詳しいお話はこちらがめちゃくちゃ勉強になりました。

https://www.serotoninpower.club/archives/200

と、いうわけで「Box」は導入しなければいけないのですが、片方では導入していますが、片方では導入していません。

これはなぜかというと、「init」すると設定ファイルである「vagrantfile」が作成されますが、「init」する際にinitの後ろにつける名前をBoxの名前と同じにしておくと「vagrant up」した際にBoxを自動で追加してくれるそうです。

つまり、

$ vagrant init centos/7

とすると、centos7のBoxが「vagrant up」で仮想環境を構築した際にBoxに自動で追加されるというわけです。

賢いですね。

というわけで、片方では省略しているわけです。

私は両方試してみましたが、両方とも同じバージョンの「centos7」のBoxが入りました。

ちなみにですが、centos/7 とするとVagrant(Hashicorp)の「centos7 Box」が入るようです。

centos/7でも、ほかのBox(例えばChef社のものなど)を導入したいときには、

vagrant box add boxの名前 boxのパス

とすると、Boxが追加できますので「init」する際に「boxの名前」を指定してあげれば、該当のBoxをもとにvagrantfileが作成でき、あとは「vagrant up」すれば完了です。

Boxの名前ですが、こちらである程度決められるようですね。(たぶん)

そんな変なのでなければ大丈夫かと。

新たなBoxで新しいOS環境を構築する際は、フォルダを切り分けるのがおすすめらしいです。

https://qiita.com/pugiemonn/items/bcd95a35c3ec7624cd61

Vagrantの様々なコマンドはこれとか参考になるので、ご覧くださいな。

まとめ

まー色々と書いてきましたが、結局何が言いたかったかというと、

中国か

ってことです。

Appleストアから届く3日くらい前に発送したよメールが来てたんですよね。

それなのに全然来ないのでなんでかなーと思って、配達状況をヤマトで検索したら、中国から海飛んでました。

なるほど、そりゃかかるわけだと思いつつ、中国かーカリフォルニアじゃないのかーと現実を改めて知らされたりしました。

しょうがないですがね。

カリフォルニアの夢を見てしまった私が悪いのです。

ガンガン使っていこうと思います。