masayuki5160's diary

名古屋でエンジニアしてます。

VagrantでBox追加してvagrant upしてdestroyしてまたvagrant upするとか

ほんとVagrantすげー、と興奮しておりますw

なにがってやっぱり題のとおり、
VagrantでBox追加してvagrant upしてdestroyしてまたvagrant upすると
またまっさらなサーバができてるとこ。
なんかうぃーんてディスクいれてOSインストールしてたのがあほみたいw


興奮してますが、
今日はぼくのことばでVagrantでBox追加したりなんやらかんやらをまとめときます。


Boxについて
たぶんまずこれを理解しておく必要があると思います。
BoxはVagrantが管理している仮想サーバのイメージ。
あくまでイメージです。

ぼくもはじめよくわかってなかったのですが、

# vagrant box add Box名 使用するBoxのパス

とかで仮想サーバできてるわけではないです。
あくまでVagrantで使用する仮想サーバのイメージがVagrantに登録されただけです。

んでついでその登録されているBoxというのは、

# vagrant box list

で確認できます。
でそんなにすることもないかと思うのですが、Boxを消したいときは

# vagrant box remove Box名 PROVIDER

としてください。(PROVIDERとかはだいたいvirtual boxとかです)


Boxを登録し終わったらvagrant initでVagrantfileの作成

# vagrant init

でベースの設定ファイル Vagrantfileを作成します。
Vagrantfileには使用するBoxが記載されています。


そしてvagrant upで仮想サーバ起動

# vagrant up

これで仮想サーバが起動します。
このとき、Virtual Boxを一緒に起動しておくと実際にゲストOSが起動している様子もよくみえます。


vagrant halt と vagrant destroy

# vagrant halt

# vagrant destroy 

これもVirtual Boxを起動しておいてみながらコマンドをたたくとよくわかります。
vagrant haltがサスペンドでvagrant destroyがターミネートです。

ぼくははじめ勘違いしてdestroyをするとBoxもきえると思ってましたw
あくまでdestroyは仮想サーバのデータがきえる?というイメージかなと思います。



んじゃ実際にどんな使い方をするのか?
おおくの人がいっているようにちょうどChefのレシピを試すにはぴったりです。
具体的にどうするか、って多分こんな感じでしょうか?


  1. まずChefだけがはいったBoxをaddしておく。
  2. んでvagrant init して vagrant up
  3. レシピをためす。
  4. あれ、なんかへんだ。。もう一回やりなおすか〜
  5. vagrant destroyでターミネート
  6. そしてvagrant upでまたレシピをためす。


てなかんじでしょうか???
じつはまだChefについてそんなにくわしくなく、
これからがっつりレシピかくぜ〜〜という感じなのですがVagrantつかったらこんな感じで
レシピのテストできるんじゃないかと想定しています。


というかそもそもVagrantを使いはじめたのもChefを気軽にテストする環境が安価でほしかっただけでしたので、やっとこれから目的の作業にはいれそう、、て感じです。


あ〜〜、名古屋でももっと勉強会ないかなwww

参考
Vagrant <- 結局ここが一番わかりやすかったりした。
http://www.vagrantup.com/