【まとめ】よく使う物だけを抜粋したVagrantコマンドの使い方とオプションの一覧まとめ
Vagrantコマンド
Vagrant(ベイグラント)
Vagrantとは
Vagrantとは複数のOS(Mac、Linux、Windows)で動作する
仮想環境(VM)を仮想化プラットフォーム(VirtualBoxなど)へ
簡単に構築・管理・配布したりできる環境構築ツールです。
Vagrantfileという構成情報と簡単なコマンド操作で
仮想環境のテンプレート(Vagrant box)を取得出来るため
手軽に環境を構築したり壊したりすることができます。
公式サイト
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 halt
とvagrant 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コマンドの使い方とオプションの一覧まとめについて紹介させていただきました。
これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。