我正在使用Vagrant,它是一个用于虚拟化环境的非常好的工具。但我对VirtualBox如何更改创建的VM的名称有疑问。
我有这个Vagrantfile文件配置
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.hostname = "ubuntu"
config.vm.box = "ubuntu-12.04"
config.vm.network :private_network, ip: "33.33.33.13"
config.berkshelf.enabled = true
end 当我运行流浪者时,virtualbox工具会用不同的名称创建我的机器。
roberto@rcisla-pc:~/myface$ VBoxManage list vms
"myface_default_1390750040" {eed39077-32da-44e5-961f-2bb772a2bf31}为什么当我在Vagrantfile中配置了一个不同的名称时,virtualbox创建了名为myface_default_1390750040的机器,在本例中是ubuntu-12.04。
这是我的烹饪书结构
.
├── attributes
│ └── default.rb
├── Berksfile
├── Berksfile.lock
├── chefignore
├── definitions
├── files
│ └── default
├── Gemfile
├── libraries
├── LICENSE
├── metadata.rb
├── providers
├── README.md
├── recipes
│ └── default.rb
├── resources
├── templates
│ └── default │
├── test
│ └── integration
│ └── default
│ └── serverspec
│ ├── default
│ │ ├── test_spec.rb
│ │ └── demo_spec.rb
│ └── spec_helper.rb
├── Thorfile
└── Vagrantfile我不明白为什么VirtualBox相对于食谱取名字而不取ubuntu-12.04
我在用
发布于 2014-01-28 17:30:48
您可以在流浪文件中添加一个config.vm.define块。
例如:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.synced_folder ".", "/vagrant", type: "nfs"
config.vm.define "{YOUR NICE NAME HERE}" do |web|
web.vm.box = "CentOs"
web.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box"
web.vm.hostname = 'dev.local'
web.vm.network :forwarded_port, guest: 90, host: 9090
web.vm.network :private_network, ip: "22.22.22.11"
web.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.manifest_file = "web.pp"
puppet.module_path = "puppet/modules"
puppet.options = ["--verbose", "--hiera_config /vagrant/hiera.yaml", "--parser future"]
end
end
end这样,当您在虚拟框中检查列表时,您将看到您定义的名称。但是请记住,Vagrant总是会在vm的名称后面追加一个随机字符串,因为它需要在运行同一个流浪者文件的多个vm时识别正确的机器。
发布于 2017-03-22 03:11:09
vagrant生成的默认VM机器名使用您的folder_name和时间戳FOLDER_default_TIMESTAMP。要在virtualbox上命名vm机器,请将以下代码添加到vagrantfile中:
config.vm.provider :virtualbox do |vb|
vb.name = 'myhost'
endhostname设置控制如何显示ssh提示符:
config.vm.hostname = 'myhost'若要在virtualbox和ssh提示符上使用相同的名称,请添加以下代码:
config.vm.hostname = 'myhost'
config.vm.provider :virtualbox do |vb|
vb.name = config.vm.hostname
end我正在使用virtualbox 5.1.18和vagrant 1.9.2。
https://stackoverflow.com/questions/21410099
复制相似问题