97

RAM を少なくとも 1 GB に増やし、「199.188.44.20」を使用するように「ホストオンリー」ネットワークを構成したいと考えています。

これは私のVagrantfileです:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|

    config.vm.customize ["modifyvm", :id, "--memory", 1024]

    config.vm.network :hostonly, "199.188.44.20"

    config.vm.define :web do |web_config|
        web_config.vm.box = "lucid32"
        web_config.vm.forward_port 80, 8080

        web_config.vm.provision :puppet do |puppet|
            puppet.manifests_path = "manifests"
            puppet.manifest_file = "lucid32.pp"
        end
    end

    config.vm.define :web2 do |web2_config| 
        web2_config.vm.box = "lucid32"
        web2_config.vm.forward_port 80, 8081

        web2_config.vm.provision :puppet do |puppet|
            puppet.manifests_path = "manifests"
            puppet.manifest_file = "myweb.pp"
        end
    end
end

ただし、実行すると次のようvagrant upになります。

VM は、起動中に「実行中」の状態を維持できませんでした。これは通常、構成ミスまたはホスト システムの非互換性が原因です。VirtualBox GUI を開き、仮想マシンを手動で起動して、より詳細なエラー メッセージを取得してください。

また、connection refuseVM にログインしようとするとエラーが発生します。

4

5 に答える 5

151

Vagrant 2 の使用時にメモリまたは CPU 数を増やすには、これを Vagrantfile に追加します。

Vagrant.configure("2") do |config|
    # usual vagrant config here

    config.vm.provider "virtualbox" do |v|
        v.memory = 1024
        v.cpus = 2
    end
end
于 2014-10-20T15:07:35.417 に答える
96

Vagrant 1.1 customizeオプションはVirtualBox固有になっているためです。

それを行う現代的な方法は次のとおりです。

config.vm.provider :virtualbox do |vb|
  vb.customize ["modifyvm", :id, "--memory", "256"]
end
于 2013-04-23T08:30:05.270 に答える
66

次の構成を追加することで、さまざまな VM プロパティを変更できます (詳細については、Vagrant のドキュメントを参照してください)。

  # Configure VM Ram usage
  config.vm.customize [
                        "modifyvm", :id,
                        "--name", "Test_Environment",
                        "--memory", "1024"
                      ]

変更するプロパティは、VirtualBox コマンドライン オプションのドキュメントから取得できます。

vagrantのドキュメントには、IP アドレスを変更する方法に関するセクションがあります。

Vagrant::Config.run do |config|
  config.vm.network :hostonly, "192.168.50.4"
end

また、このように構成を再構築することもできます。エンディングは、ネストせずに end で行います。これは簡単です。

config.vm.define :web do |web_config|
    web_config.vm.box = "lucid32"
    web_config.vm.forward_port 80, 8080
end
web_config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file = "lucid32.pp"
end
于 2012-09-11T17:08:59.470 に答える