boxのメモリをVagrantfileで変更する(VirtualBox限定)
Vagrantで利用している仮想環境で、いろいろ開発を実施する場合に、どうしてもデフォルトのメモリでは足りなくて困ってしまう場合があります。
そんな場合、Virtualboxを利用しているのであれば、「Oracle VM VirtualBoxマネージャー」によって、GUIでメモリを増減させることは可能ですが地味に面倒です。
本投稿では、Vagrantのproviderとして"VirtualBox"を利用している場合に限定されますが、Vagrantfileにてメモリを指定する方法を紹介致します。
Vagrantfile#1
Vagrant.configure("2") do |config|
config.vm.box = "centos64_6_4"
config.vm.box_url = "http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box"
config.vm.provider "virtualbox" do |vm|
# メモリを1024MBに設定
vm.customize ["modifyvm", :id, "--memory", "1024"]
end
end
→裏では、「VBoxManage」というツールを利用しており、「VBoxManage」で利用できる設定はひと通り実現することができそうです。詳細は、VBoxManageのマニュアルが参考になります。
また、上記では直感的にわかり辛いため、シンタックスシュガー的な記法も用意されており、それを利用すると以下のようにシンプルに記述することが可能です。
Vagrantfile#2
Vagrant.configure("2") do |config|
config.vm.box = "centos64_6_4"
config.vm.box_url = "http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box"
config.vm.provider "virtualbox" do |vm|
# メモリを1024MBに設定
vm.memory = 1024
end
end