楽しむ方法を以前 (VitrualBoxでMacにいつでも壊せるVMをサクサク作る) 書きました。
が、Vagrantというツールを使うと、
Virtual Machineと連携してもっと簡単にVMを作成出来ます!
詳しくはこちら↓↓
http://www.vagrantup.com/
http://docs.vagrantup.com/v2/installation/index.html
Vagrantのインストール
http://downloads.vagrantup.com/
からdmgをダウンロードする。
※ Gemでインストールすると、
古いVersionのVagrantをインストールしてしまうそうなので、要注意。
からdmgをダウンロードする。
※ Gemでインストールすると、
古いVersionのVagrantをインストールしてしまうそうなので、要注意。
Boxのダウンロード
Boxはなんていうか・・・Vagrantで使うOSイメージみたいなもんらしいです。
ISO的やつです。
ということでOSをインストールするために、まずはBoxをダウンロードします。
今回はubuntuをダウンロードします。
ダウンロードできるBoxの一覧はこちら。
http://www.vagrantbox.es/
ISO的やつです。
ということでOSをインストールするために、まずはBoxをダウンロードします。
今回はubuntuをダウンロードします。
$ vagrant box add ubuntu http://files.vagrantup.com/precise64.box
ダウンロードできるBoxの一覧はこちら。
http://www.vagrantbox.es/
VMの設計書を作る
次にVagrantfileを作成します。
Vagrantfileとは何かといいますとVMの設計書みたいなものを作ります。
つまり、
* 今から作成するサーバの名前はほにゃららで、
* IPアドレスはほにゃららで
* メモリはふにゃららGB使います
的なことを記述しているファイルです。
って指定してます)
このコマンドを実行すると、Vagrantfileができます。
これがVMの設計書となります。
Vagrantfileとは何かといいますとVMの設計書みたいなものを作ります。
つまり、
* 今から作成するサーバの名前はほにゃららで、
* IPアドレスはほにゃららで
* メモリはふにゃららGB使います
的なことを記述しているファイルです。
$ vagrant init ubuntu(ubuntuを指定することでさっきbox addしたOSをインストールしますよ、
って指定してます)
このコマンドを実行すると、Vagrantfileができます。
これがVMの設計書となります。
初期設定する
ホスト名の設定
config.vm.hostname = "HOSTNAME"
をVagrantfileに追加します。
そうするとホスト名が設定されます。
ネットワークの設定
1. NAT的設定
config.vm.network :forwarded_port, guest: 80, host: 8080
とVagrantfileに書くことでホストマシンの8080へのアクセスは、
ゲストVMの80ポートへ転送されます。
2. Bridge的設定
config.vm.network :public_network
とVagrantfileに書くことでローカルネットワークからゲストVMを見ることができます。
3. NAT + Host Only Adapter的設定
config.vm.network :private_network, ip: "192.168.33.10"
とVagrantfileに書くことで、ホストマシンからのみアクセスを許可する。
メモリサイズの設定
デフォルトだとOSが推奨する最小限のメモリになるような気がします。(たぶん)
なので、ちょっと多めに割り当てたいときは、
config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] end
のようにVagrantfileに記述します。
この場合、メモリを1024MBに設定してます。
VMを作る
設計書ができたので、以下のコマンドで実際にVMを作成してみます。
しばらく待ったらVMができてます。
$ vagrant up
しばらく待ったらVMができてます。
VMにログインする
以下のコマンドをVagrantfileを置いたディレクトリで実行すると
さっき作成したVMにsshでログインします。
デフォルトではvagrantユーザーで~/.vagrant.d/insecure_private_keyを使った
鍵認証でログインします。
さっき作成したVMにsshでログインします。
$ vagrant ssh
デフォルトではvagrantユーザーで~/.vagrant.d/insecure_private_keyを使った
鍵認証でログインします。
VMを壊す
$ vagrant destroyをホストマシンで実行するだけで完全にVMを消し去ります。
もう一回同じ設定で作りなおすときは、
$ vagrant upでOK。
単にshutdownしたいだけなら、
$ vagrant haltで終了。
で?
まーここまでだとあんまり良さを実感できないですよね。
単にOSのインストールでいろいろ選ばなきゃダメなところを勝手にやってくれるだけ?
って感じですね。
VagrantはChefやPuppetと連携することでもっと威力を発揮します。
次回Chef Soloとの連携を書くと思います。
単にOSのインストールでいろいろ選ばなきゃダメなところを勝手にやってくれるだけ?
って感じですね。
VagrantはChefやPuppetと連携することでもっと威力を発揮します。
次回Chef Soloとの連携を書くと思います。
0 件のコメント:
コメントを投稿