• MAC使用vagrant搭建开发环境


    公司的开发环境是这样的:

        Windows主机通过虚拟机安装CentOS。平时在Windows下编辑代码,然后跑到虚拟机里编译。

    我自己有台MAC,本来准备直接在MAC上装开发环境的。基于以下两个原因放弃了:

    1. 我有系统洁癖。
    2. MAC系统终归和开发环境不同。

    后来通过调研发现了vagrant这个新大陆,哈哈,开心。整个搭建过程如下:

    1. 安装virtualbox

    2. 安装vagrant

    (直接去官网下载安装即可)

    3. 下载CentOS

      以前在虚拟机中安装CentOS,都要去下载对应系统的iso文件。vagrant有一个box的概念,你可以下载对应系统的box文件,非常方便。

    下载地址:www.vagrantbox.es

    4. 安装CentOS

      首先选择一个目录作为MAC和虚拟机的共享目录,我在主目录下建了个目录vagrant。然后就是很简单的安装命令:

    cd vagrant
    vagrant box add centos7 /your_box_path
    vagrant init centos7

    到此,我们的CentOS就装好了。(目录下会生成一个配置文件Vagrantfile )

    5. 访问CentOS

    vagrant up        // 启动CentOS
    vagrant ssh      //  ssh访问

    到此,就可以愉快地开发了

    --------------------------------------------

    修改默认登录用户

      默认的登录用户是vagrant,如果想实现默认root登录,可在Vagrantfile 文件中添加如下配置:

    config.ssh.username = 'root'
    config.ssh.password = 'vagrant'    
    config.ssh.insert_key = 'true'

      (root默认密码是:vagrant)

    修改box内存大小

    1. 直接通过virtualbox修改
    2. 修改Vagrantfile文件

    修改box磁盘大小(本人没试过)

    VBoxManage clonehd box-disk1.vmdk tmp-disk.vdi --format vdi
    VBoxManage modifyhd tmp-disk.vdi --resize 61440
    VBoxManage clonehd tmp-disk.vdi resized-disk.vmdk --format vmdk
    rm tmp-disk.vdi box-disk1.vmdk
    mv resized-disk.vmdk box-disk1.vmdk

    链接:Add some way to increase disk space from Vagrantfile

    box时间同步

    如果你在make的时候出现如下错误:"检测到时钟错误。您的创建可能是不完整的。",那么说明你的系统时间有问题。

    首先通过date命令查看系统时间,如果时区不对(输出中没有CST),那么直接修改/etc/localtime文件:

    rm -f /etc/localtime
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    如果时区正确,那么应该是同步没有做好。

    1. 检查是否安装ntp

    rpm -qa ntp

    如果没有直接 yum install ntp。

    2. 时间同步

    ntpdate cn.pool.ntp.org

    3. 开机启动

    chkconfig ntpd on 

    备份

    vagrant package --output backup.box

    PS:

       在公司,用不了vagrant,怀疑是网络问题。详情可见:Failing "underlying SSH library"

    参考文章:

    https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.2.md

  • 相关阅读:
    Spring MVC 完全注解方式配置web项目
    spring WebServiceTemplate 调用 axis1.4 发布的webservice
    修改Intellij Idea 创建maven项目默认Java编译版本
    Git Commit提交规范和IDEA插件Git Commit Template的使用
    myEclipse10安装以及破解
    ES6中Map与其他数据结构的互相转换
    ES6用来判断数值的相关函数
    WebStorm使用码云插件问题
    Css解决表格超出部分用省略号显示
    Js/Jquery获取网页屏幕可见区域高度
  • 原文地址:https://www.cnblogs.com/gattaca/p/6298407.html
Copyright © 2020-2023  润新知