Vagrant Documentation このページから、特に Vagrant を開発環境の構築に使う場合に必要そうなものをピックアップ。ぱっと見、公式には2系しか書いてないっぽいので、以下全部2系での書き方。
動作確認は Vagrant 1.2.2 で行った。(してない項目もある)
基本
config.vm.box |
どの box を使うかの指定。vagrant box add [name] [url/path] した時の、name を指定する |
config.vm.box_url |
指定した url から box を持ってくる。ネットワーク上に構築済みの VM を置いておいて、Vagrantfile を配布すれば環境構築が終わる、みたいな使い方ができそう |
config.vm.network |
ネットワーク周りの設定 |
config.vm.provider |
バーチャルマシン(VirtualBox, VMware など)固有の設定 |
config.vm.provision |
chef とか puppet の設定を書く。ここでは言及しない |
config.vm.network
説明 | 例 | |
---|---|---|
:forwarded_port |
ポートフォワードの設定 | config.vm.network :forwarded_port, guest: 80, host: 8080 |
:private_network |
プライベートIPの設定 | config.vm.network :private_network, ip: "192.168.50.4" |
config.vm.provider
VirtualBox に加えて VMWare もサポートするようになったから増えた項目なのかな?
僕は基本的に VirtualBox しか使わないので、以下は VirtualBox の場合。
基本
config.vm.provider "virtualbox" do |v|
v.gui = true
v.name = "name"
end
こんな形で、config.vm.provider
に "virtualbox" を指定して、そのブロックの中で設定を書いていく。
gui |
true で GUI で起動 |
name |
GUI の VirtualBox のリスト画面に出る名前 |
customize |
Chapter 8. VBoxManage ←これを使えるぽい。 |
customize
とりあえず modifyvm
を眺めて使えそうなセッティングを2つピックアップ。(むしろその他の設定はよく分からず…)
- --memory : RAM を設定する。単位は MB。
- --cpuexecutioncap <1-100>: バーチャルマシンのCPU使用率を設定する。50で設定したら、50%まで使えるようになる。ホストマシンに迷惑をかけないようにする設定。
下のような設定でいけるはず。
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--cpuexecutioncap", "50", "--memory", "1024"]
end
:id
は特別な変数で、バーチャルマシンに割り当てられた id に置き換わる模様。
例
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu1204LTS"
config.vm.network :forwarded_port, guest: 3000, host: 3100
config.vm.network :private_network, ip: '192.168.50.50'
config.vm.provider "virtualbox" do |v|
v.name = "ubuntu 12.04 LTS"
v.customize ["modifyvm", :id, "--cpuexecutioncap", "50", "--memory", "1024"]
end
end