そもそも、Vagrantって何?
HashiCorp社が開発する、Vagrantfile
を言われるファイルに構成情報を記述することによって、仮想環境の構築から設定まで自動化を行う事ができるツールです。
Vagrantfile
を共有したり、仮想環境を丸ごと他の人と共有することもでき、チーム内の開発環境の統一化なども行えるすごいやつです。
チームでよくあることだと思うのですが、「自分の環境だと動いたんだけど・・・」とかチームに新規で人が入ってきた時に同じ環境を渡したい!とか簡単に同じ環境を用意することができます。
ここまで聞くと、Virtual Boxだけでいいような気がしますが、Vagrantを使えば設定のコード管理やサーバ構成ツールのAnsibleやChefと合わせれば、ミドルウェアのインストールから設定まで簡単に用意することができます。
なので、新規で人がチームに加わってもVagrantfile
とAnsibleやChefを用意すればすぐに同じチーム内で統一した環境を構築できてしまいます。
Vagrantの情報
- 公式サイト
- 公式ドキュメント
- 使用言語
- Ruby
Vagrantを使うにあたり知っていたほうがいい用語
用語 | 説明 |
---|---|
box | Vagrantのイメージファイルの名称 インターネット上に公式イメージや個人的に作ったboxも配布されていて下記から探せる https://atlas.hashicorp.com/boxes/search |
Vagrantfile | どのように構成にするかを記述する設定ファイル |
plugin | Vagrantをより便利にするためのプラグイン |
Tips
### Macアドレスのマッピング無効化
sudo ln -s -f /dev/null /etc/udev/rules.d/70-persiste
### 未使用領域0埋め
dd if=/dev/zero of=zero bs=4k
rm zero