VirtualBox + Vagrant

作者: 新亮笔记 | 来源:发表于2016-01-18 14:07 被阅读4046次
    VirtualBox + Vagrant

    它们分别是什么?

    VirtualBox:

    号称是最强的免费虚拟机软件和VM类似。

    不仅具有丰富的特色,而且性能也很优异。

    Vagrant:

    是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。

    使用Oracle的开源VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。

    解决了什么问题?

    让“代码在我机子上运行没有问题 ” 这种说辞将成为历史。

    原理:

    我们可以通过Vagrant封装一个Linux的开发环境分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。

    如何安装?

    安装VirtualBox:

    https://www.virtualbox.org/wiki/Downloads

    安装Vagrant:

    http://downloads.vagrantup.com/

    下载系统镜像。[Centos版本:6.5]

    http://www.vagrantbox.es/

    温馨提示:安装不同的版本,有可能会出现意想不到的错误。

    具体操作

    添加镜像到Vagrant:

    镜像的存放位置为/home/box/centos65.box

    cd/home/box/

    vagrant box add centosbox centos65.box

    初始化开发环境:

    vagrant init centosbox #初始化

    vagrant up#启动环境

    SSH登陆 方式一:

    利用Xshell、Putty、SecureCRT等登录。

    Ip : 127.0.0.1

    Port : 2222

    Username : root

    Password : vagrant

    SSH登陆 方式二:

    vagrant ssh [当前登录的账号是vagrant]

    su

    vagrant [输入后 切换成root账户]

    常用配置

    Vagrant初始化成功后,会在初始化的目录里生成一个Vagrantfile文件,

    可以修改该文件进行个性化的定制。

    配置Box信息:

    config.vm.box = "box"

    config.vm.hostname = "box" [自定义名称]

    配置IP:

    config.vm.network :private_network, ip: “192.168.33.10”[去掉#]

    你可以把IP改成其他地址,只要不产生冲突就行。

    配置同步目录:

    config.vm.synced_folder “../data”, “/vagrant_data” [去掉#,修改为下面]

    config.vm.synced_folder “/home/web/www”, “/data/www“

    /home/web/www:本地目录,/data/www:Linux服务器目录

    配置虚拟内存:

    在文件结尾end字符前添加下面一段:

    config.vm.provider :virtualbox do |vb|

            vb.customize ["modifyvm", :id, "--memory", "2048"]

    end

    温馨提示:修改配置后 记得 重启虚拟机。

    打包分发

    当你配置好开发环境后,退出并关闭虚拟机。

    在终端里对开发环境进行打包:

    vagrant package

    打包完成后会在当前目录生成一个package.box的文件,

    将这个文件传给其他用户,

    其他用户只要添加这个box并用其初始化自己的开发目录,

    就能得到一个一模一样的开发环境了。

    常用命令

    vagrant init #初始化

    vagrant up #启动虚拟机

    vagrant halt #关闭虚拟机

    vagrant reload #重启虚拟机

    vagrant status #查看虚拟机运行状态

    帮助文档

    http://segmentfault.com/blog/fenbox/1190000000264347

    http://www.tuicool.com/articles/aErYJj

    https://github.com/jedi4ever/veewee/issues/970

    Thanks ~


    作者:PHP后端开发者

    免费提供技术咨询服务(自己懂的知识)。

    QQ群:564557094。

    关注微信公众号,留言即可,看到留言后会及时回复。

    IT小圈儿

    PHP团队开发中遇到的那些坑,看我是如何解决的?

    Mac PHPStorm使用心得

    相关文章

      网友评论

      • 吴钧泽:感谢分享 :clap:
        新亮笔记:@吴钧泽 互相学习~
      • 8d415dbf1467:你好,我最近在慕课上学习ruby on rails,老师也要求这样的配置。虽然装好了,但是不明白vagrant是做什么用的,单独使用virtualbox装个ubuntu不行吗?还要用vagrant? :pray: 求指点。
        天天都要开心:可以的。另外你虚拟的ubuntu里的环境都配置好之后,也可以单独备份一份的,以防虚拟的系统坏掉,下次直接拿来备份的用。一直这样搞,也可以把虚拟机的文件直接给同事用。
        新亮笔记:@壁虎 我搜的,你可以看一下。
        新亮笔记:@呆小曦的异想天开 https://www.zhihu.com/question/24730031
      • Lim_Hu:额 php新手,mac 10.11.3 ,以前是xampp+phpstorm 直接整的,只是自己练练php语法。
        现在看你的教程准备换虚拟机,
        已装好 VirtualBox + Vagrant , 后面的就不知道怎么办了,系统centos 65,有很多版本啊,我选择哪个版本,另外虚拟机下 是不是只是部署环境 和我的phpstorm 无关,我写代码依然在mac下的php里面 ,请教了
        新亮笔记:@Lim_Hu CentOS 6.5 x86_64 可以试试介个。与PhpStorm 无关,PhpStorm只是一个IDE罢了。
      • M_派森:学习了
        新亮笔记:@M大海龟想飞 :heartbeat:

      本文标题:VirtualBox + Vagrant

      本文链接:https://www.haomeiwen.com/subject/okskkttx.html