【发布时间】:2015-10-14 06:17:44
【问题描述】:
我正在使用 Vagrant (v1.7.2) 来配置 Linux (Fedora 22) 主机和 vagrant-hostmanager 插件 (v1.6.1)
写/etc/hosts以便主机可以互相访问。
我的Vagrantfile:
Vagrant.configure(2) do |config|
config.vm.box = "workshop"
config.hostmanager.enabled = true
config.hostmanager.include_offline = true
config.vm.define "server" do |server|
server.vm.network "private_network", ip: "192.168.33.10"
server.vm.hostname = "server.local"
end
config.vm.define "client" do |client|
client.vm.network "private_network", ip: "192.168.33.20"
client.vm.hostname = "client.local"
end
end
当我vagrant up时,server VM 有以下/etc/hosts:
127.0.0.1 server.ipademo.local server
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
## vagrant-hostmanager-start
192.168.33.10 server.ipademo.local
192.168.33.20 client.ipademo.local
## vagrant-hostmanager-end
(对于 VM client,仅在第一行替换 s/server/client/。)
因为 Vagrant >= 1.5.0 在配置之前运行 vagrant-hostmanager 插件,我还尝试通过将Vagrantfile 更改为:
config.hostmanager.enabled = false
config.hostmanager.include_offline = true
config.vm.provision :hostmanager
这有同样的结果。
问题描述
127.0.0.1 <fqdn> <shortname> 行与 vagrant-hostmanager 添加的信息冲突。我需要抑制主机名与环回地址的关联,以便在每个 VM 上,主机名解析为由 vagrant-hostmanager 添加的专用网络地址。
我怎样才能做到这一点?
【问题讨论】:
-
我认为即使没有 vagrant-hostmanager 插件,您也会拥有相同的功能。一旦你为你的虚拟机设置了主机名,/etc/hosts 就会在 127.0.0.1 环回中添加主机名,所以我认为这部分不是由插件管理的,并且保持不变
-
@FrédéricHenri 这是正确的。问题是 Vagrant 对
/etc/hosts所做的更改妨碍了 vagrant-hostmanager 的成功使用。我用一些配置脚本解决了这个问题(见答案)。 -
很好,因此可以编写脚本-您是否尝试挂接插件?潜在地它可能是一种改进,在那里对其他人如此有用..
-
@FrédéricHenri 我们在插件中没有条件,但我同意它可能有用;我将提交一张票作为开始。
标签: vagrant fedora hosts vagrantfile resolve