可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I would like to increase the RAM to at least 1 GB and I would like to configure “Host-Only” networking to use "199.188.44.20".
This is my Vagrantfile
:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
config.vm.customize ["modifyvm", :id, "--memory", 1024]
config.vm.network :hostonly, "199.188.44.20"
config.vm.define :web do |web_config|
web_config.vm.box = "lucid32"
web_config.vm.forward_port 80, 8080
web_config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "lucid32.pp"
end
end
config.vm.define :web2 do |web2_config|
web2_config.vm.box = "lucid32"
web2_config.vm.forward_port 80, 8081
web2_config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "myweb.pp"
end
end
end
However, when I run vagrant up
I am getting:
The VM failed to remain in the "running" state while attempting to boot. This is normally cause by a misconfiguration or host system incompatibles. Please open the VirtualBox GUI and attempt to boot the virtual machine manually to get more informative error message
And, I am getting a connection refuse
error when I try to log in to the VM.
回答1:
You can modify various VM properties by adding the following configuration (see the Vagrant docs for a bit more info):
# Configure VM Ram usage
config.vm.customize [
"modifyvm", :id,
"--name", "Test_Environment",
"--memory", "1024"
]
You can obtain the properties that you want to change from the documents for VirtualBox command-line options:
- http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm
The vagrant documentation has the section on how to change IP address:
Vagrant::Config.run do |config|
config.vm.network :hostonly, "192.168.50.4"
end
Also you can restructure the configuration like this, ending is do with end without nesting it.
This is simpler.
config.vm.define :web do |web_config|
web_config.vm.box = "lucid32"
web_config.vm.forward_port 80, 8080
end
web_config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "lucid32.pp"
end
回答2:
To increase the memory or CPU count when using Vagrant 2, add this to your Vagrantfile
Vagrant.configure("2") do |config|
# usual vagrant config here
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
end
回答3:
Since Vagrant 1.1
customize
option is getting VirtualBox-specific.
The modern way to do it is:
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "256"]
end
回答4:
I could not get any of these answers to work. Here's what I ended up putting at the very top of my Vagrantfile, before the Vagrant::Config.run do
block:
Vagrant.configure("2") do |config|
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
end
I noticed that the shortcut accessor style, "vb.memory = 1024", didn't seem to work.
回答5:
You can easily increase your VM's RAM by modifying the memory property of config.vm.provider section in your vagrant file.
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
end
This allocates about 4GB of RAM to your VM. You can change this according to your requirement. For example, following setting would allocate 2GB of RAM to your VM.
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
Try removing the config.vm.customize ["modifyvm", :id, "--memory", 1024]
in your file, and adding the above code.
For the network configuration, try modifying the config.vm.network :hostonly, "199.188.44.20"
in your file toconfig.vm.network "private_network", ip: "199.188.44.20"