vagrant

vagrantの自分なりのメモ

自分なりにvagrantのツボやつまずきやすいポイントをまとめたものです
参考にならないかもしれませんがあしからず
間違えがあったら指摘をいただけると助かります

boxファイルのVMの関係

  • boxファイルはオブジェクト指向でいうところのclassのようなもの
  • VMはboxから生成されるインスタンスのようなもの
  • 1つのbox(class)から複数のVM(インスタンス)を作成できる
  • VMのもとになるboxはvagrant box addでvagrantの管理化に追加しておく必要がある
  • vagrant box addしたらboxはファイルとして存在しなくても良い
  • vagrant box addさえしておけば同じVMをいくつでも何度でも作成することができる
  • VMの作成元になるboxはVagrantfileで指定する

destroyとremove

vagrant destroyはVMを削除するもの(boxを操作するものではない)

$ vagrant destroy vm_name_or_id

vmの名前やidをしらべるにはvagrant global-status

$ vagrant global-status
id       name    provider   state   directory
------------------------------------------------------------------------
41dae62  default virtualbox running C:/vm/hoge
dd1eb4f  default virtualbox running C:/vm/hoge_20170929

boxを削除するのはvagrant box remove

$ vagrant box remove box_name

環境変数VAGRANT_HOMEについて

box addしたboxなどの情報を管理するディレクトリはデフォルトでは次の場所になる

(ユーザディレクトリ)/.vagrant.d

追加したboxの情報、sshの秘密鍵など。
これらを管理するディレクトリ変更する場合、変更先のディレクトリをVAGRANT_HOMEに設定することで変更することができる。
※こちらの記事を参考にしました(引っ越し手順が載っています)
vagrantのboxフォルダ変更手順メモ

VMが配置される場所(VirtualBoxの場合)とその変更方法

こちらの記事を参照
Vagrant, VirtualBox 大きいファイルの保存先を変更する

SSD(Cドライブ)+大容量HDD(Dドライブ)のような構成のときはvagrantの管理ディレクトリやVMが本体は容量が大きいので、デフォルトだとCドライブ配下のディレクトリだけど、Dドライブの独自ディレクトリに配置したい!というような場合に有効です。