ram*_*mon 4 workflow vagrant web
在我的Vagrantfile中,我有我的开发机器的定义,私有网络IP为192.168.33.10,转发端口为"guest = 80,host = 8888",但是当我运行我的流浪汉环境时,我尝试运行curl -i 192.168.33.10:8888我收到错误提示"连接到192.168.33.10:8888失败; 连接拒绝',但当我尝试连接到192.168.33.10:80时,一切都没问题.
我的Vagrantfile是:
Vagrant::configure("2") do |config|
config.vm.box = "precise32"
config.vm.define :web do |www|
www.vm.hostname = "apache"
www.ssh.max_tries = 10
www.vm.network :forwarded_port, guest: 80, host: 8888 # Apache port
www.vm.network :private_network, ip: "192.168.33.10"
www.vm.synced_folder "www", "/var/www", :extra => 'dmode=777,fmode=777'
end
end
Run Code Online (Sandbox Code Playgroud)
为什么会这样?是流浪汉忽略转发的端口?
默认情况下,流浪盒使用NAT模式,则意味着客人是一个落后router(主机和客户机之间的VirtualBox网络引擎,它映射往返于虚拟机的透明流量).客人看不见,无法从主人那里得到.
这就是我们需要端口转发的原因.否则,无法访问在guest上运行的服务.
在您的情况下,您正在使用专用网络,将为访客分配一个只有主机才能访问的私有IP地址,即192.168.33.10.
访问托管在guest虚拟机上的Web的正确方法是=> http://192.168.33.10来自主机.
你有端口转发部分 Vagrantfile
www.vm.network :forwarded_port, guest: 80, host: 8888 # Apache port
Run Code Online (Sandbox Code Playgroud)
它将来宾端口80转发到您的主机8888. 因为您没有使用NAT模式,我很确定它会被忽略.试着curl -Is http://localhost:8888.
注意:即使它仍以某种方式工作,您应该
http://localhost:8888/从主机访问web by => .
| 归档时间: |
|
| 查看次数: |
3134 次 |
| 最近记录: |