如果是多个主机使用的同样的配置,这些东西可以放在定义主机的代码块以外 ... 比如这个 config.vm.box ,这里设置的是主机使用的 box ,这个配置是在主机定义的代码以外,所以,如果不单独去为主机配置的话,这里我们定义的这两台主机,使用的 box ,都会是这个 ninghao。
首先要分别为两个主机设置的就是网络,在前面的视频里已经介绍过了设置公有网络还有私有网络的方法,如果你想让其它的设备或者主机能访问这两个主机的话,需要使用公有网络。如果你觉得这两台主机之间能相互相信就可以了,我们可以去设置一下私有网络。设置私有网络的好处就是,你不需要组建一个自己的局域网,一般来说,就是你不需要有一台路由器。
在这个定义主机的 config 还有 end 之间,可以去添加要配置的东西。先输入在上面传递进来的这个参数的名字,这里就是这个主机的名字 .. development.vm.network ... 后面是网络的类型,这里我们配置一个私有网络 ... 先输入一组引号,然后是 private_network ,表示私有网络。逗号分隔一下 ... 接着是在这个私有网络里面,这台主机的 ip 地址,这个 ip 地址,我们需要使用专门为私有网络保留的 ip 段 ... 另外,这个私有网络的地址段,不能跟你的公有网络的地址重复,比如你的路由器的 ip 地址段是 192.168.1.x ,这样的话你的私有网络地址段就不能是这个 ... 你可以设置成192.168.2.x ,或者是其它的 ...
这里我设置成 192.168.33.11 ...
development.vm.network "private_network", ip: "192.168.33.11"
再用类似的方法,去设置另一台主机的私有网络,还有它的 ip 地址 ... 复制一下 ... 粘贴过来 ... 把这个 development ,换成 production ,再改一下主机的 ip 地址 .. 设置成 192.168.33.22
production.vm.network "private_network", ip: "192.168.33.22"
保存 ... 再回到命令行 ... 我们可以重启一下这两个主机 ... 先退出 ssh 连接 .. 再输入 vagrant reload ... 如果后面不指定具体的主机名字的话,这条命令会重启所有的在 vagrantfile 里面定义的主机 ... 回车 ... 执行一下 ...
vagrant reload
完成以后,再分别 ssh 到这两个主机上 ... 然后输入 ifconfig ... 查看一下这台主机的 ip 地址 .. 这台主机的 ip 地址是 192.168.33.22 ... 也就是我们为 production 分配的 ip 地址 ...
再到另一台主机上 ... 再输入 ifconfig ... 它的地址是 192.168.33.11,这个就是 development 这台主机的 ip 地址 ... 确定两台主机之间是否能够通信,可以使用 ping 命令 ... 在这台主机上输入 ping ,后面可以加上 production 主机的 ip 地址,也就是 192.168.33.22 ... 你会看到 ping 得通 ... 说明可以进行通信 ... 同样你在 production 主机上,ping 一下 development 的 ip 地址,一样能 ping 得通。