Vagrant(2)配置文件
2017-04-04 本文已影响74人
殷临风
Vagrant
最大的优势是, 它可以通过配置文件对虚拟机进行管理, 这样我们只需要保存配置文件, 无论在什么时候, 都可以创建相同的开发环境
初始化
我们任意创建一个目录
# 类似dockerfile形式
mkdir vagrant_home
cd vagrant_home
# 初始化
vagrant init
# 我们可以查看初始化成功后, 出现的配置文件Vagrantfile
ls -al
![](https://img.haomeiwen.com/i938819/d5e4b3bd8e7f1eb7.png)
配置虚拟机
相关的配置文件如下, 这里我配置个一个名称为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
![](https://img.haomeiwen.com/i938819/57d939a6d7e1e4ea.png)