尋常でないもふもふ

a software engineer blog

Vagrantfileのテンプレート

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network :private_network, ip:"192.168.33.10"
  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--memory","1024"]
    v.customize ["modifyvm", :id, "--cpus","1"]
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end
end

config.vm.box は任意のリポジトリを書く。CentOS なら "chef/centos-7.0" とか。
config.vm.network も任意で書かなくても良い。localhost ではなく、任意の IP アドレスでアクセスしたい場合に設定。"192.168.33.10" は決まりごとではなく、なんかのテンプレートがそうなってたから真似しただけ。プライベートIP の範囲内なら何でもいい。公式ドキュメントだと "192.168.50.4" 使ってる。なお、vagrant share したい場合はこれがあると動かないのでコメントアウト
--memory は必ず指定する。デフォルトだと 512MB 程度のため、何らかのビルドをしようとしてもメモリ不足で "Killed" と表示され終了してしまい、作業にならない。できれば 2048MB がベター。
--natdnshostresolver1CentOS の場合に指定しないと重くなるらしい(参考リンク)。