6

Vagrantfileで指定されたhostonlyIPアドレスを取得しようとしています。

config.vm.network :hostonly, "33.33.33.33"

レシピファイル内:

mycookbook / files / default / xdebug.ini

[xdebug]
zend_extension = "/usr/lib/php/modules/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "***HERE***"
xdebug.trace_output_dir = "/tmp"
xdebug.max_nesting_level = 200
4

3 に答える 3

12
node[:network][:interfaces][:eth1][:addresses].detect{|k,v| v[:family] == "inet" }.first

実際には、VMにログインして(vagrant sshを使用して)、shefを実行することで、すべてのノード属性を確認できます。そして、そこでノードオブジェクトを調べます。

于 2013-01-25T16:43:20.400 に答える
1

ホストマシンのIPを取得する場合は、次を使用できます。

あなたのレシピで:

your / cockbook / path / recipes / default.rb

ip = node[:network][:interfaces][:eth1][:addresses].detect{|k,v| v[:family] == "inet" }.first
remote_ip = ip.gsub /\.\d+$/, '.1'

template "/etc/php.d/xdebug.ini" do
  source "xdebug.ini.erb"
  owner "root"
  group "root"
  mode 0644
  variables({
              "remote_host" => remote_ip
            })
end

およびテンプレート内: your / cockbook / path / templates / default / xdebug.ini.erb

[xdebug]
zend_extension = "/usr/lib/php/modules/xdebug.so"
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "/tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = <%= @remote_host %>
xdebug.trace_output_dir = "/tmp"
xdebug.max_nesting_level = 200
于 2013-01-28T10:10:46.947 に答える
0

私はohaiのjson出力を見て、プロンプトの直前にある最初のvagrantsshログイン出力にが表示されているかを探しました。

$ vagrant ssh
Last login: Tue Sep 29 13:40:10 2015 from 10.0.2.2
vagrant@vagrant:~$

ohaiの出力で、他の場所の中で10.0.2.2を見つけました。

[:network][:default_gateway]  

Dracoの情報によると、sshでshefを開始することで確認しました

chef >     node[:network][:default_gateway]
 => "10.0.2.2"

それは私にとってはうまくいき、ホスト上にセットアップしたpythonSimpleHTTPServerに対してbashで手動でカールすることができました。次は、これを適切なシェフで使用します。

これはVagrantfileの私のネットワークエントリです。これが私の特定のvagrantネットワーク構成でのみ適用される場合に備えて:

config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)"

FWIWは、Dracoの回答を使用して、別のIPアドレスを指定していましたが、これは機能していませんでした。

于 2015-09-29T21:07:31.090 に答える