Lin*_*nda 46 capistrano vagrant
我一直在使用Capistrano开发自动部署,并使用Vagrant作为我的测试虚拟服务器.
问题是,我需要Vagrant的IP" ssh进入它".
我试过ifconfig并获得了IP,但看起来它不是确切的流浪者IP.
任何人都可以帮助我获得Vagrant IP吗?
gtz*_*lla 43
默认情况下,vagrant框没有任何ip地址.要查找IP地址,只需在Vagrantfile当时的呼叫中分配IP地址即可vagrant reload
如果您只需要从主机访问流浪汉机器,则只需设置"专用网络"即可.在默认情况下取消注释相应的行Vagrantfile,或添加此代码段.如果您希望VM显示在172.30.1.5它上面,则如下所示:
config.vm.network "private_network", ip: "172.30.1.5"
详细了解专用网络.https://www.vagrantup.com/docs/networking/private_network.html
如果您需要在主机外部访问vagrant,例如针对iOS或Android等移动设备进行开发,则必须启用公共网络,您可以使用静态IP,例如192.168.1.10DHCP.
config.vm.network "public_network", ip: "192.168.1.10"
了解有关配置公共网络的详细信息https://www.vagrantup.com/docs/networking/public_network.html
qui*_*tin 36
我发现我确实需要IP才能/etc/hosts在主机系统上配置指向新VM上的服务.
这是我用来获取IP的粗略版本.让Vagrant做其SSH魔术并向VM询问其地址; 根据您的需求进行调整.
new_ip=$(vagrant ssh -c "ip address show eth0 | grep 'inet ' | sed -e 's/^.*inet //' -e 's/\/.*$//'")
Run Code Online (Sandbox Code Playgroud)
我刚在Vagrant Docs中找到了这个.看起来他们认为这是一种有效的方法:
这将自动从保留的地址空间分配IP地址.可以通过使用vagrant ssh将SSH连接到计算机并使用适当的命令行工具查找IP(例如ifconfig)来确定IP地址.
mpa*_*pis 24
跑:
vagrant ssh-config > .ssh.config
Run Code Online (Sandbox Code Playgroud)
然后在 config/deploy.rb
role :web, "default"
role :app, "default"
set :use_sudo, true
set :user, 'root'
set :run_method, :sudo
# Must be set for the password prompt from git to work
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
ssh_options[:config] = '.ssh.config'
Run Code Online (Sandbox Code Playgroud)
小智 17
打开终端,来到你的Vagrantfile的路径并写下来
(Linux)vagrant ssh -c"hostname -I | cut -d''-f2"2>/dev/null
(OS X)vagrant ssh -c"hostname -I | cut -d''-f2"2>/dev/null | pbcopy
Linux的命令也适用于Windows.对不起,我无法测试.
来源:https://coderwall.com/p/etzdmq/get-vagrant-box-guest-ip-from-host
mku*_*min 14
我为此开发了一个小的vagrant-address插件.它是简单的,跨平台的,跨提供者的,不需要脚本.
https://github.com/mkuzmin/vagrant-address
小智 8
在终端类型中:
ip addr show
Run Code Online (Sandbox Code Playgroud)
我在VagrantFile做过:
REMOTE_IP = %x{/usr/local/bin/vagrant ssh-config | /bin/grep -i HostName | /usr/bin/cut -d\' \' -f4}
run "ping #{REMOTE_IP}"
Run Code Online (Sandbox Code Playgroud)
如您所见,我使用了"%x {}"ruby函数.
| 归档时间: |
|
| 查看次数: |
87184 次 |
| 最近记录: |