【まとめ】よく使う物だけを抜粋したVagrantコマンドの使い方とオプションの一覧まとめ

Vagrantコマンド
【まとめ】よく使う物だけを抜粋したVagrantコマンドの使い方とオプションの一覧まとめ
Memo
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Vagrant(ベイグラント)

Vagrantとは

VagrantとVirtualboxの構成

Vagrantとは複数のOS(Mac、Linux、Windows)で動作する
仮想環境(VM)を仮想化プラットフォーム(VirtualBoxなど)
簡単に構築・管理・配布したりできる環境構築ツールです。

Vagrantfileという構成情報と簡単なコマンド操作で
仮想環境のテンプレート(Vagrant box)を取得出来るため
手軽に環境を構築したり壊したりすることができます。

公式サイト

Vagrant|HashiCorp 公式サイト

Vagrantのインストール手順

Vagrantのインストール手順についてはこちらを参照ください。

Vagrantのインストール

環境

  • Mac OS Big SUR 11.3.1
  • Vagrant 2.2.16

ファイル操作で利用するUnixコマンドについて

基本的なディレクトリ作成やファイル操作はUnixコマンドを利用します。
Unixコマンドについて詳しくはこちらの記事を参考にしてください。

Vagrant 仮想マシン制御コマンド

Vagrantコマンドで仮想マシンを操作するコマンドになります。

vagrant init

仮想マシン起動に必要なVagrantfileを作成し初期化します。

terminal
$ vagrant init

Vagrant Boxを指定して初期化

centos/8というBoxを指定して初期化します。

terminal
$ vagrant init centos/8

vagrant up

仮想マシンの起動します。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant up

プロビジョニングして起動

--provisionオプションをつけると起動時にプロビジョニングをこなって起動します。

プロビジョニング(Provisioning)とは?

初回起動時の起動する前についでに実行することが出来るスクリプトのようなものです。

terminal
$ vagrant up --provision

vagrant halt

仮想マシンをシャットダウンします。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant halt

vagrant suspend

仮想マシンを一時停止します。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant suspend

vagrant resume

仮想マシンを一時停止から復帰します。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant resume

vagrant reload

仮想マシンの再起動します。vagrant haltvagrant upをそれぞれ実行するのと同じ動作をします。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant reload

プロビジョニングして起動

--provisionオプションをつけると起動時にプロビジョニングをこなって再起動します。

terminal
$ vagrant reload --provision

vagrant provision

仮想マシンは起動したままプロビジョニング再度実行します。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant provision

vagrant destroy

仮想マシンを削除します。boxは削除されません。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant destroy

vagrant status

仮想マシンのステータスを表示します。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant status

vagrant global-status

全仮想マシンの一覧を表示します。(ID、名前、プロバイダー、ステータス、パス)

全仮想マシンの一覧で削除済のものが出る場合に

terminal
$ vagrant global-status

削除済のVMを一覧から削除

--pruneオプションを付与して実行すると一覧表示から削除します。

terminal
$ vagrant global-status --prune

vagrant ssh

起動している仮想マシンにログインします。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant ssh

vagrant ssh-config

sshログイン時の設定確認します。

terminal
$ vagrant ssh-config

vagrant version

Vagrantのバージョンを確認します。

terminal
$ vagrant version Installed Version: 2.2.16 Latest Version: 2.2.16

Vagrant Box 制御コマンド

VagrantコマンドでVagrant Boxを操作するコマンドになります。

vagrant box list

Vagrant Boxの一覧を表示します。

terminal
$ vagrant box list

vagrant box add

centos/8というBoxを追加します。(過去のバージョンではURLを指定していましたが2021年5月時点ではBox名を指定します。)

terminal
$ vagrant box add centos/8

vagrant box update

過去に追加したVagrant Boxをアップデートします。

terminal
$ vagrant box update

Vagrant Boxを個別に指定してアップデート

--boxオプションとBox名を引数に渡してVagrant Boxを指定してアップデートします。
下記の例はcentos/8のボックスをアップデートします。

$ vagrant box update --box centos/8

vagrant box remove

Vagrant Boxを削除します。
下記の例では centos/8のVagrant Boxを削除します。

terminal
$ vagrant box remove centos/8

vagrant package

Vagrantをパッケージ化します。Vagrantfileのあるディレクトリで実行します。

terminal
$ vagrant package

Box名を指定してパッケージ化

下記の例ではcentos8という名前でパッケージ化します。

$ vagrant package --output centos8.box

Vagrant スナップショット制御コマンド

Vagrantコマンドでスナップショットを操作するコマンドになります。

vagrant snapshot list

Vagrant snapshotの一覧を表示します。

terminal
$ vagrant snapshot list

Vagrant snapshot save

Vagrant snapshotを保存します。 下記の例ではhogeというスナップショット名でスナップショットを保存します。

terminal
$ vagrant snapshot save hoge

Vagrant snapshot restore

Vagrant snapshotを復元します。 下記の例ではhogeというスナップショットを復元します。

terminal
$ vagrant snapshot restore hoge

Vagrant snapshot delete

Vagrant snapshotを削除します。 下記の例ではhogeというスナップショットを削除します。

terminal
$ vagrant snapshot delete hoge

Vagrant プラグイン制御コマンド

Vagrantコマンドでプラグインを操作するコマンドになります。

vagrant plugin list

Vagrant pluginのプラグイン一覧を表示します。

terminal
$ vagrant plugin list

vagrant plugin install

Vagrant pluginをインストールします。
下記の例ではvagrant-vbguestというプラグインをインストールします。

terminal
$ vagrant plugin install vagrant-vbguest

vagrant plugin uninstall

Vagrant pluginをアンインストールします。
下記の例ではvagrant-vbguestというプラグインをアンインストールします。

terminal
$ vagrant plugin uninstall vagrant-vbguest

vagrant plugin update

Vagrant pluginをアップデートします。

terminal
$ vagrant plugin update

プラグインを指定してアップデート

下記の例ではvagrant-vbguestというプラグインをアップデートします。

terminal
$ vagrant plugin update vagrant-vbguest

参考文献

Vagrant Documentation

終わりに

最後までご覧いただきありがとうございます。
この記事では【まとめ】よく使う物だけを抜粋したVagrantコマンドの使い方とオプションの一覧まとめについて紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。