Vagrant(2)配置文件

2017-04-04  本文已影响74人  殷临风

Vagrant最大的优势是, 它可以通过配置文件对虚拟机进行管理, 这样我们只需要保存配置文件, 无论在什么时候, 都可以创建相同的开发环境

初始化

我们任意创建一个目录

# 类似dockerfile形式
mkdir vagrant_home
cd vagrant_home
# 初始化
vagrant init
# 我们可以查看初始化成功后, 出现的配置文件Vagrantfile
ls -al
配置虚拟机

相关的配置文件如下, 这里我配置个一个名称为master的虚拟机

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

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  # config.vm.box = "base"
  config.vm.box = "magina/centos7.2"

  config.vm.define "master" do |device|
    device.vm.network "private_network", ip: "192.168.3.100"
    device.vm.hostname = "master"
    device.vm.provider "virtualbox" do |vb|
      vb.memory = "2048"
      vb.cpus = 2
      vb.name = "master"
    end
  end

...

end

可以看到, 如果大家对ruby熟悉的话, 这个配置文件采用的是ruby的语法

配置详解
# 定义了, 我们虚拟机使用的是哪个镜像, 其中关于镜像box的添加, 前面有介绍过
config.vm.box = "magina/centos7.2"

# 定义了相关网络, 这里指定私有网络模式, 并且指定了IP
device.vm.network "private_network", ip: "192.168.3.100"

# 指定了主机名, 建议指定, 如果用于集群配置, 可以方便后续操作
device.vm.hostname = "master"

# 指定相关虚拟机的CPU和内存
vb.memory = "2048"
vb.cpus = 2

有了这些配置, 足够我们启动一台虚拟机了, 另外共享目录也是我们常用的配置, 这里后续再做介绍

启动

配置好后, 我们可以启动自己的第一台虚拟机了, 第一启动的时候, 由于配置网络, 可能会要等一会

# 这里一定要注意, 必须在vagrant_home目录下执行
vagrant up master
上一篇下一篇

猜你喜欢

热点阅读