Vagrant(ベイグラント)は、仮想マシンを構築するためのソフトウェアである。構成情報を記述した設定ファイル (Vagrantfile) を元に、仮想環境の構築から設定までを自動的に行うことができる。最新版v3はGoで開発されている。ソースアベイラブルのBusiness Source Licenseで配布されている。

概要 仮想マシンの提供自体は、VirtualBoxをはじめとする仮想化ソフトウェアが行う。Vagrantは、これらソフトウェアが用意されているのを前提として、仮想マシンの設定や立ち上げに特化している。このため、既存の仮想化ソフトウェア及び構成管理ソフトウェア(例: Chefや、Puppet、Ansible)をラップしたものとみなすこともできる。

サポート 当初はVirtualBoxをターゲットとしていたが、1.1以降のバージョンではVMwareなどの他の仮想化ソフトウェアやAmazon EC2のようなサーバ環境も対象とできるようになった。Vagrant自身はRubyで作成されているが、PHPやPython、Java、C#、JavaScriptといった、他のプログラミング言語の開発においても用いることができる。

バージョン1.6以降ではコンテナ管理フレームワークのDockerがネイティブサポートされており、軽量コンテナLXCを取り扱えないWindowsやMac上でも各種Linuxベースの開発環境を容易に利用できるようになった。

またvagrant-libvirtプラグインにより、仮想化管理用APIのlibvirtもサポートされている。

脚注

外部リンク Vagrant公式サイト