vagrant public_network 自定義靜態 ip配置方法


Vagrant 創建虛擬化開發環境

Vagrant是一個基於Ruby的工具,用於創建和部署虛擬化開發環境。它 使用Oracle的開源VirtualBox虛擬化系統,使用 Chef創建自動化虛擬環境。

 


這篇文章是為大家講解的是vagrant擴展public_network讓vagrant可以自定義靜態ip

Vagrant是一個基於Ruby的工具,用於創建和部署虛擬化開發環境。它 使用Oracle的開源VirtualBox虛擬化系統,使用 Chef創建自動化虛擬環境。

其實解決方法也不是沒有,只是要修改vagrant的源代碼,加一些擴展代碼上去

好吧,在那里加擴展代碼呢?

我的操作系統ubuntu,大家可能有在window下面安裝的。。都不管了。。。

1.找到我們的vagrant安裝目錄:我的安裝目錄是

/opt/vagrant/

2.然后修改以下路徑的配置文件,注意哦,以下路徑是我本機的安裝路徑

/opt/vagrant/embedded/gems/gems/vagrant-1.2.4/plugins/providers/virtualbox/action/network.rb

找到這個方法  def bridged_network_config(config)  這是一個ruby的方法定義,修改這個方法,添加擴展代碼

修改前:

def bridged_network_config(config)
  return {
    :type => :dhcp,
    :use_dhcp_assigned_default_route => config[:use_dhcp_assigned_default_route]
  }
end

修改后:

def bridged_network_config(config)
  if config[:ip]
              options = {
                  :auto_config => true,
                  :mac         => nil,
                  :netmask     => "255.255.255.0",
                  :type        => :static
              }.merge(config)
              options[:type] = options[:type].to_sym
              return options
  end
  return {
    :type => :dhcp,
    :use_dhcp_assigned_default_route => config[:use_dhcp_assigned_default_route]
  }
end

好了,這樣就修改成功了。。

看回Vagrantfile這份文件:

我們應該怎么使用呢?添加了擴展代碼,我想大家都知道開啟public_network是怎么寫配置文件,下面我寫出添加了擴展代碼自定義ip的配置文件寫法,也非常簡單,具體代碼

  config.vm.network :public_network,ip:"192.168.9.111"

修改完成后,不要忘記

vagrant reload


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM