vagrant

【まとめ】Vagrant コマンド一覧

More than 1 year has passed since last update.

コマンド一覧を表示するコマンド
vagrant list-commands

ヘルプ
vagrant -h

仮想マシンの操作

  • vagrant up 仮想マシンの起動。vagrantfileのあるディレクトリ内で実行
  • vagrant halt 仮想マシンの終了(シャットダウン)
  • vagrant suspend 仮想マシンの一時停止
  • vagrant resume 仮想マシンの一時停止から復帰。--provision オプションでプロビジョン実行
  • vagrant reload ≒ halt & up
  • vagrant provision 仮想マシンは起動したままプロビジョニングのみ再度実行
  • vagrant destroy 仮想マシンの削除(boxは消えない)
  • vagrant status 仮想マシンのステータスを表示
  • vagrant global-status 全仮想マシンの一覧(名前、ステータス、パス)
  • vagrant global-status --prune 全仮想マシンの一覧で削除済のものが出る場合に
    ※上手くいかなかった。手動で vagrant destroy id で削除した(id例:be163bc。稼働分を削除しないよう注意)
  • vagrant ssh 仮想マシンにログイン
  • vagrant ssh-config sshログイン時の設定確認。IdentityFileは秘密鍵の場所
  • vagrant reload --provision 設定ファイル(site.yml)を変更したらこのコマンドで反映
  • vagrant version バージョン確認 + 最新バージョンの表示 (vagrant -vはバージョン確認のみ)
    Vagrant のアップデート方法は記事「Vagrant のアップデート・再インストール」を参照

boxの一覧、追加、アップデート、削除

  • vagrant box list boxの一覧を表示
  • vagrant box add **/** boxの追加。Vagrant Cloud、ローカルのbox、URLから取得から取得
  • vagrant box add 付けたい名前 box名.box
  • vagrant box update --box **/** (vagrant box updateでまとめて)
  • vagrant init BOX_NAME 初期化(Vagrantfileの作成)
  • vagrant box remove **/** boxの削除
    ※ → ユーザーディレクトリ/.vagrant.d/boxes/box名 を手動で削除
  • vagrant box remove **/** --box-version 0.0.1 boxの削除(バージョン指定)
  • vagrant package box名 現在の仮想マシンをboxに。box名省略なら元のbox名
    → これを元に vagrant box add box名 だけで同じ環境を構築できる
  • vagrant box repackage mackerel/centos66 virtualbox 0.0.2 ??再パッケージ化

スナップショット

  • vagrant snapshot save <スナップショット名> スナップショット作成
    --provision 付けると強制的にプロビジョニング、--no-provision 付けると強制的にプロビジョニングさせない
  • vagrant snapshot restore <スナップショット名> スナップショット復元。--[no-]provisionはsaveと同じ
  • vagrant snapshot delete <スナップショット名> スナップショットの削除
  • vagrant snapshot list 名前付きスナップショットの一覧を表示
  • vagrant snapshot push 使わない:スナップショット作成(名前は自動で付く)
  • vagrant snapshot pop 使わない:スナップショット復元

プラグイン

  • vagrant plugin list プラグイン一覧
  • vagrant plugin expunge --reinstall アンインストールして再インストール
  • vagrant plugin install <プラグイン名1> <プラグイン名2> インストール
  • vagrant plugin uninstall <プラグイン名1> <プラグイン名2> アンインストール
  • vagrant plugin update [names...] アップデート(名前省略で全てのプラグイン)

Vagrant Cloud

  • vaglant login ログイン
  • vagrant share ローカル環境を公開。表示されるURLで外部からアクセス可能に。Ctrl + C で終了
  • vagrant connect xxxxx SSHなどでの接続も可能。セキュリティ的リスクあるが便利な場面も
    "hashicorp/precise32"のような名前のboxが作られる。終了しても残るので、要らなくなったらこのboxは手動で削除する

未確認

  • vagrant global-status
  • vagrant push
  • vagrant rdp

Vagrant から直接 WP-Cli コマンドを実行 (WordPress, VCCW)

  • vagrant ssh -c "wp plugin install simple-map --activate" Simple Mapプラグインをインストールして有効化
  • vagrant ssh -c "wp plugin list" プラグインの一覧を表示

メモ

  • 仮想マシンの保存場所:ユーザーディレクトリ/VirtualBox VMs/仮想マシン名/
    初回のvagrant upで生成、vagrant destroyで破棄されるまで存在する
  • 追加したBoxの保存場所:ユーザーディレクトリ/.vagrant.d/boxes/box名/
  • 主な起動遷移の図解:Vagrantコマンド一覧とかチートシート - Qiita