多虚拟机环境

定义虚拟机

  • 新建一个目录,目录名任意
  • 将以下内容保存到名为 Vagrantfile 的文件中
vms = {"192.168.100.101" => "node-1",
       "192.168.100.102" => "node-2",
       "192.168.100.103" => "node-3"}

Vagrant.configure("2") do |config|

  vms.each do |vm_ip, vm_name|

    config.vm.define vm_name do |node|

      node.vm.box_check_update = false
      node.vm.box = "bento/centos-7.4"
      node.vm.hostname = vm_name
      node.vm.network "private_network", ip: vm_ip
      # config.vm.synced_folder "../data", "/vagrant_data"

      node.vm.provider "virtualbox" do |v|
        # v.name = vm_name
        v.memory = 1048
        v.cpus = 1
      end

      node.vm.provision "shell", inline: <<-SHELL
        # 修改hostname       echo "#{vm_name}">/etc/hostname

        # 添加本地hosts解析
        for i in "#{vms.map{|k,v|"#{k}    #{v}"}.join('" "')}";do echo $i>>/etc/hosts;done

        # 删除hosts文件第一行
        sed -i '1d' /etc/hosts
      SHELL
      # node.ssh.private_key_path = ".setting/id_rsa"
      # node.ssh.username = "ifnoelse"
    end
  end
end

在新建目录下执行vagrant up启动虚拟机

results matching ""

    No results matching ""