vargrant
一、安装
参考:
https://blog.youkuaiyun.com/qianghaohao/article/details/80038096
https://segmentfault.com/a/1190000008729625
1、安装VirtualBox
下载地址:https://www.virtualbox.org/wiki/Downloads
提示:虽然 Vagrant 也支持 VMware,不过 VMware 是收费的,对应的 Vagrant 版本也是收费的
2、安装Vagrant
Vagrant支持Max OS、Windows、CentOS以及基于Debian的发行版本Ubuntu
下载地址:https://www.vagrantup.com/downloads.html
3、下载Box
官方box: https://atlas.hashicorp.com/boxes/search暂时只看到搜索名称,没法下载
第三方box: http://www.vagrantbox.es/提供了各发行版/provider的下载链接
我用的https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
二、启动步骤
1、添加Box镜像
- vagrant box add <本地 box 名称> <box 文件>
- 查看Box列表:vagrant box list
- 删除Box:vagrant box remove {box-name}
2、创建一个Vagrant环境
初始化命令格式:vagrant init <本地 box 名称>
执行init命令后,会在当前文件夹创建一个Vagrant配置文件Vagrantfile
。
3、启动Vagrant
命令:vagrant up
注:执行up命令前需先cd到Vagrant目录
执行up命令后,终端会输出一系列启动信息,第一次启动会花费几分钟时间。
4、连接Vagrant
命令:vagrant ssh
注:Vagrant实例的用户名密码默认都为“vagrant
”,也可以直接用类似xshell工具连接
执行ssh命令就相当于使用vagrant身份登录实例,你可以对操作系统进行操作,比如安装LNMP环境。
5、配置Vagrant
配置IP:为了在Host机上通过浏览器访问Vagrant虚拟机,需要给虚拟机配置一个IP地址。使用文本编辑器修改Vagrant的Vagrantfile
,如下(把注释打开就可以):
config.vm.network :private_network, ip: "192.168.33.10"
重启虚拟机生效配置文件(命令 vagrant reload
)后就可以在浏览器通过192.168.33.10
就可以访问
设置共享文件夹:config.vm.synced_folder
config.vm.synced_folder
"your_folder"(必须) //物理机目录,可以是绝对地址或相对地址,相对地址是指相对与vagrant配置文件所在目录
,"vm_folder(必须)" // 挂载到虚拟机上的目录地址
,create(boolean)--可选 //默认为false,若配置为true,挂载到虚拟机上的目录若不存在则自动创建
,disabled(boolean):--可选 //默认为false,若为true,则禁用该项挂载
,owner(string):'www'--可选 //虚拟机系统下文件所有者(确保系统下有该用户,否则会报错),默认为vagrant
,group(string):'www'--可选 //虚拟机系统下文件所有组( (确保系统下有该用户组,否则会报错),默认为vagrant
,mount_options(array):["dmode=775","fmode=664"]--可选 dmode配置目录权限,fmode配置文件权限 //默认权限777
,type(string):--可选 //指定文件共享方式,例如:'nfs',vagrant默认根据系统环境选择最佳的文件共享方式
我的配置:
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "D:/awww/vg_code", "/awww/vg_code", create:true,:owner => "vagrant"
Vagrant 常用命令清单
- vagrant box add 添加box
- vagrant init 初始化 box
- vagrant up 启动虚拟机
- vagrant ssh 登录虚拟机
- vagrant box list 列出 Vagrant 当前 box 列表
- vagrant box remove 删除相应的 box
- vagrant destroy 停止当前正在运行的虚拟机并销毁所有创建的资源
- vagrant halt 关机
- vagrant package 把当前的运行的虚拟机环境进行打包为 box 文件
- vagrant plugin 安装卸载插件
- vagrant reload 重新启动虚拟机,重新载入配置文件
- vagrant resume 恢复被挂起的状态
- vagrant status 获取当前虚拟机的状态
- vagrant suspend 挂起当前的虚拟机
- vagrant global-status 查看当前 vagrant 管理的所有 vm 信息
三、Vagrant 导出自己的box
在vagrant的虚拟机下面进行了一些操作之后想把它导出作为备份,为的是以后在别的机器上安装完vagrant以后可以立即导入自己熟悉的box进行开发。步骤如下:
1、关闭vagrant
2、进入到VirtualBox的安装目录下,输入
vboxmanage list vms
命令,可以看出我们的vagrant下的虚拟机列表(我的虚拟机只有一个box,"vg_default_1547632585636_72798"。)
3、导出命令
vagrant package --base vg_default_1547632585636_72798 --output ./CentOS7.box
vagrant package是导出box的打包命令
–base 代表本地
vg_default_1547632585636_72798是你要导出的box的名称
–output代表导出
./CentOS7.box 表示导出后的box名为CentOS7.box,并保存在当前目录下
4、导出成功后的提示
整个过程大概几分钟,这也取决于你的box的大小,我的box大约1.5G
nginx lvs
keepalive
mycat
consul
rpc