【问题标题】:Vagrant boxes are connected?流浪盒子有连接吗?
【发布时间】:2014-11-25 23:03:59
【问题描述】:

这是我的 vagrant box 配置设置:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  box_version = "0.0.1"

  config.vm.box = "Ubuntu precise 64 VirtualBox"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.network "private_network", ip: "192.168.20.4"
  config.vm.synced_folder "wordpress", "/var/www/", type: "nfs", mount_options: ['rw', 'vers=3', 'tcp', 'fsc']
  config.vm.network "forwarded_port",  guest: 80,   host: 9090

  config.ssh.forward_agent = true

  config.vm.provider(:virtualbox) do |vb|
    vb.customize [
      "modifyvm", :id,
      "--memory", "2048",
      "--cpus",   "4"
    ]
  end

end

有两个配置完全相同的盒子,唯一的区别是host: 选项。这里的一个状态是 9090,另一个状态是 8080。

问题是,我启动一个,另一个启动。我一停,一停。我没有收到说明端口正在使用的错误消息,实际上它们在启动和/或停止时都会启动和关闭。

我最初设置了 8080 一个来做 WordPress 开发。我需要为不同的 WP 项目使用相同的框,所以我只是复制了文件夹,并在复制的文件夹中删除了 .vagrant 文件夹并重新运行 vagrant,以为它们将是单独的框。

不,当一个启动另一个启动时,同样的问题,当一个关闭另一个时也是如此。它们是同一个盒子。

我必须改变什么,使它们是不同的盒子,但使用相同的操作系统?

【问题讨论】:

    标签: vagrant vagrantfile


    【解决方案1】:

    如果没有为每个不同的 Vagrantfile 定义单独的名称,VirtualBox 可能会将它们视为同一个虚拟机。

    要解决这个问题,您可以通过单独设置 vb.name 参数来更改每个 Vagrantfile,如下所示:

    config.vm.provider(:virtualbox) do |vb|
      vb.customize [
        "modifyvm", :id,
        "--memory", "2048",
        "--cpus",   "4"
      ]
      vb.name = "box1"
    end
    

    将它们命名为“box1”、“box2”或任何您想要的约定。那么只要 Vagrant 文件位于不同的目录中,您就会拥有独立的虚拟机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多