当我运行vagrant global-status
时,我会查看正在运行的所有流氓托管虚拟机的列表,但是我没有预料到会输出机器详细信息。即使我在初始化期间为每台计算机提供了明确的name
,但每台计算机的name
输出中global-status
的值始终为default
。
为什么vagrant status
或vagrant global-status
没有列出方框的实际名称?有时,当我摧毁了一个盒子时,它实际上已经摧毁了一个以上的盒子。
id name provider state directory
-------------------------------------------------------------------------
e44520d default virtualbox poweroff /Users/name/code/foo
1310726 default virtualbox poweroff /Users/name/code/bar
430fd52 default virtualbox poweroff /Users/name/code/baz
这些计算机名为foo
,bar
,baz
...为什么它们显示为default
?
答案 0 :(得分:2)
如果您将默认的Vagrantfile配置为配置,则您的计算机虚拟机将被命名为default,如
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu-12.04"
config.vm.hostname = "foo"
config.vm.network "forwarded_port", guest: 80, host: 8080
. . .
现在,如果你有一个多机器配置,你的Vagrantfile中会有这样的东西(简化)
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu-12.04"
config.vm.define "db" do |db|
db.vm.hostname = db.test
db.vm.provider "vmware_fusion" do |vm|
vm.vmx["memsize"] = "2048"
end
db.vm.provision "shell", path: "bootstrap-dev.sh"
end
config.vm.define "app", primary: true do |app|
app.vm.hostname = app.test
app.vm.network "private_network", "192.168.50.11"
app.vm.synced_folder "project/site", "/var/www"
end
end
在这种情况下,您已定义了2台计算机db
和app
,vagrant global-status
将提示
id name provider state directory
-----------------------------------------------------------------------------------------------------------
de264ac db vmware_fusion not running /Volumes/Transcend/Project1
bdd4385 app vmware_fusion not running /Volumes/Transcend/Project1