vagrant的使用

以前我们开发都是在windows下或者linux虚拟机下开发,但经常出现问题就是,我本地明明没有报错,为什么线上的代码就运行不了,为了避免这样的尴尬发生,使用vagrant 打包本地环境,使其我们的开发环境和测试环境是相同的,这样可以尽可能少的避免类似的错误发生。
vagrant是管理虚拟机的一套工具,这样我们可不必重复的安装虚拟机镜像,一个个的搭环境,减少了搭建环境的时间。
话不多少,我们来使用vagrant打包自己的开发环境吧!

以下使用window环境安装
1.首先需要下载 virturalbox,然后根据提示傻瓜式安装(首先确保自己的电脑开启了虚拟化,具体不同电脑型号进入Bois里面去开启) 下载地址:https://www.virtualbox.org/wiki/Downloads

2.安装vagrant ,同样也是傻瓜式安装。这里需注意的是vagrant和virturalbox的版本是需要合理使用的.。(本人使用vagrant 1.8.6 virturalbox 使用5.1.30 版本)

3.使用vagrant 配置虚拟机
这里和之前我们安装虚拟机的情况都不一样,之前我么是下载镜像安装,而使用vagrant的好处是,官方已经打包好了很多box文件供我们使用。这样搭建一个虚拟机只需要10秒左右即可。对于初学者.box文件不好理解。
这里打个类似的比喻:.box文件相当于我们windows下的一个.zip文件,而使用的vagrant类似我们的WinRAR解压工具,将.box文件解压供我们使用,使用vagrant打包,相当于将环境压缩,如果其他人需要,可以复制出去到另外一台电脑,使用vagrant解压使用。(这是本人对于vagrant的理解,仅供参考)。
官方仓库:https://atlas.hashicorp.com/boxes/search

官方镜像:https://vagrantcloud.com/boxes/search

第三方仓库:http://www.vagrantbox.es/
选择自己需要的镜像,然后下载

4.安装
首先新建一个文件夹 进入
(1) vagrant box add 你想命名的box名称 下载的box名称
vagrant box add vagrant_box(你想命名的box名称) centos.7.box(下载的box名称)
(2)vagrant init 命名的box名称
此时会生成一个vagrantfile文件
(3)vagrant up (这里会显示ip地址是端口号一般都是 127.0.0.1 2222(端口号))
(4)vagrant ssh (windows下无法使用该命令登陆,使用xshell交互工具登陆)

如果可以连接这样我们的第一个虚拟机就搭建好了。

这样对vagrantfile详解
配置虚拟网卡
config.vm.network “private_network”, ip: “192.168.33.10”

配置共享文件夹
config.vm.synced_folder “F:\small”, “/vagrant_data”

修改virturalbox 控制台名称
config.vm.provider “virtualbox” do |vb|
vb.customize [“modifyvm”, :id, “–name”, “first_box”]//
end

端口转发
config.vm.network “forwarded_port”, guest: 80, host: 8081
这个代表在window下访问localhos:8081 直接转发到 nginx下面对应的nginx.conf 80端口服务

打包镜像
进入virturalbox安装目录(不是vagrant的安装目录)
vboxmanage list vms 显示已经安装的虚拟镜像
vagrant package –base hp_wm –output package.box
vagrant package –base virturlbox的工作目录 –output 打包的.box 名 –include 文件名 –vagrantfile vagrantfile文件路径
(打包需要注意的是如果实在私有地址,将私有地址的vagrantfile给注释掉,否则报错 未生成private_key default: Warning: Remote connection disconnect. Retrying…)

切换到root用户密码为vagrant 私有地址连接用户名vagrant 密码vagrant

vagrant常用命令
vagrant box add 添加box的操作
vagrant init box名 初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up box名 启动本地环境
vagrant ssh box名 通过ssh登录本地环境所在虚拟机
vagrant halt box名 关闭本地环境
vagrant suspend box名 暂停本地环境
vagrant resume box名 恢复本地环境
vagrant reload box名 修改了Vagrantfile后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant box remove box名 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status box名 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值