0

Vagrant

このブログは「俺、こんなしょうもない事何回調べてんねん」をなくす為のメモ帳として始めたのを忘れてた。これからはレベルの低い小ネタがけっこう入ります。
そんな事はさておき3周くらい遅れた感のあるVagrant。chefとcartonをちょうどいじってた時だったので合わせて色々試してみました。

$ gem install vagrant

$ vagrant box add centos6.3 https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box

~/.vagrant.d/boxes/centos6.3/box-disk1.vmdk という形で入ります。
これがBOXです。これをベースにVMを複数台立てていきます。

$ vagrant box list
centos6.3

無事入りました。

適当にフォルダを作る。
$ mkdir vag && cd vag

$ vagrant init centos6.3
これは最初の一回だけ。するとVagrantfileができる。

とりあえず無視して
$ vagrant up
はい、エラーでました。

SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

gem をrootで入れたせいで、シークレットキーの所有者がrootになってました。
sudo chown takashiaoki:staff ~/.vagrant.d/insecure_private_key

気をとりなおして

$ vagrant up
[db] VM already created. Booting if it's not already running...
[db] Clearing any previously set forwarded ports...
[db] You are trying to forward to privileged ports (ports <= 1024). Most operating systems restrict this to only privileged process (typically processes running as an administrative user). This is a warning in case the port forwarding doesn't work. If any problems occur, please try a port higher than 1024. [db] Forwarding ports... [db] -- 22 => 2222 (adapter 1)
[db] -- 3306 => 36 (adapter 1)
[db] Creating shared folders metadata...
[db] Clearing any previously set network interfaces...
[db] Preparing network interfaces based on configuration...
[db] Booting VM...
[db] Waiting for VM to boot. This can take a few minutes.
[db] VM booted and ready for use!
[db] Configuring and enabling network interfaces...
[db] Mounting shared folders...
[db] -- v-root: /vagrant

[~/vag2] vagrant ssh
Last login: Wed Feb 27 06:48:16 2013 from 10.0.2.2
[vagrant@localhost ~]$

無事ログインできました。

複数台(web + db)を作る時はVagrantfileを修正します。

#config.vm.box = "centos6.3"
config.vm.define :web do |web_config|
web_config.vm.box = "centos6.3"
web_config.vm.forward_port 80, 8080
web_config.vm.network :hostonly, "192.168.33.10"
end
 
config.vm.define :db do |db_config|
db_config.vm.box = "centos6.3"
db_config.vm.forward_port 3306, 3636
db_config.vm.network :hostonly, "192.168.33.11"
end

一旦前のVMは止めます。

$ vagrant halt

$ vagrant up web
$ vagrant up db

これで2台のサーバーが立ち上がりました。
これを別のプロジェクトで使いたいとなればこのvagフォルダをコピーしすれば新たにサーバーセットが構築できます。

未分類

大阪のWEB屋です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です