Vagrant の概要
Vagrant とは
VM(仮想マシン)を管理するコマンドラインツールです。
「vagrant up」というコマンドを実行するだけで、設定ファイル(Vagrantfile)に基づいた VM を何度でも構築することができます。
Vagrant の用語
Box (ボックス)
Vagrant で扱う VM の総称です。
Provider (プロバイダ)
Box の具体的な実装を指します。
VirtualBox、VMware Fusion、EC2、Docker Engine などがこれにあたります。
Provisioner (プロビジョナ)
起動した Box に対してソフトウェアのインストールや設定を行うプロビジョニングツールです。
ShellScript、Chef、Puppet、Fabric、Ansible、Docker などがこれにあたります。
Vagrant での VM 構築
「vagrant up」コマンドを実行すると、Vagrant は Vagrantfile の記述内容に基づき、次の3つの処理を実行します。
- Vagrantfile で指定した Box を Vagrant に登録
- Vagrantfile で指定した Provider で、Vagrantfile で指定した構成の VM を起動する
- 起動した VM に対し、Vagrantfile で指定した Provisioner で、Vagrantfile で指定した設定のプロビジョニングを行う
プロビジョニング(3番の処理)はいちどでも実行されていると、「vagrant up」コマンドでは実行されません。
プロビジョニングをもういちど行うには「vagrant provision」コマンドを使用します。
Vagrant の基本的なコマンド
操作 | コマンド |
---|---|
VM の起動 | $ vagrant up |
VM の中断 | $ vagrant suspend |
VM のシャットダウン | $ vagrant halt |
VM の再起動 | $ vagrant reload |
VM の破棄 | $ vagrant destroy |
VM の状態確認 | $ vagrant status |
VM への SSH 接続 | $ vagrant ssh |
VM の SSH 接続情報を確認 | $ vagrant ssh-config |
Vagrantfile