vagrant打造跨平台可移动开发环境

vagrant是什么

vagrant打造跨平台可移动开发环境

vagrant打造跨平台可移动开发环境

虚拟机的优点

vagrant打造跨平台可移动开发环境

Vargant的作用

vagrant打造跨平台可移动开发环境
vagrant打造跨平台可移动开发环境
比如你在本地运气没有bug,可是测试跟你说有这个bug,这可能是开发环境造成的很常见的问题。

vagrant打造跨平台可移动开发环境
vagrant打造跨平台可移动开发环境
Vagrant和Docker都是虚拟化技术。Vagrant是基于Virtualbox的虚拟机来构建你的开发环境,而Docker则是基于LXC(LXC)轻量级容器虚拟技术。全面理解这两种虚拟技术的区别,需要阅读很多文档。我这里打个简单的比方,虚拟机之于容器虚拟技术相当于进程和线程。虚拟机内可以包含很多容器,正如一个进程中可以包含很多线程。虚拟机重,容器虚拟技术轻。前者的Image一般以GB计算,Docker则以100MB为单位计算。
当然,提问者肯定更希望从应用层面来了解两者的区别。简单点讲,Vagrant就是你的开发环境的部署工具;而docker是你的运行环境部署工具。
很多程序员一定会问,为何还需要一个开发环境部署工具呢,我们平时随随便便就把一个WAMP服务器下载安装配置好了,简单方便,开包即用,问题是上图这么的多技术可能还有更多,你要保证开发环境工具一致还有迁移问题,成本是非常高的。

Vagrant运行环境

Virtualbox 下载地址
https://www.virtualbox.org/wiki/Downloads

Vagrant下载地址
https://www.vagrantup.com/

Vagrant Linux 镜像下载地址

https://www.vagrantup.com/downloads.html

Vagrant常用命令

vagrant打造跨平台可移动开发环境

vagrant打造跨平台可移动开发环境
vagrant打造跨平台可移动开发环境

初始化启动虚拟机

vagrant镜像官网 https://www.vagrantup.com/
vagrant打造跨平台可移动开发环境
vagrant打造跨平台可移动开发环境

添加镜像 vagrant box add
初始化 vagrant init
启动虚拟机 vagrant up

跟换成阿里云的源下载

备份原 REPO
备份下原有 CentOS-Base.repo 放置网络异常或其他原因导致替换失败,还可以换回原有软件源。

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
作者第一次尝试时,因为没有安装 wget 不得不还原回原有源安装后再替换。 操作远程服务器一定要注意时常备份,特别是在编辑配置文件前。

替换 REPO
进入 YUM 配置文件夹

cd /etc/yum.repos.d/
下载 阿里云 样例配置

sudo wget http://mirrors.aliyun.com/repo/Centos-7.repo
作者,通常不用 root 用户登录服务器,因为 /etc/yum.repos.d/ 需要 root 权限,所以很多地方需要加上 sudo 授权。

修改文件名

sudo mv Centos-7.repo CentOS-Base.repo
生成缓存
yum makecache

试一下吧
sudo yum -y update
输出显示下面的内容,包含 mirrors.aliyun.com,就代表替换完成了。

[[email protected] yum.repos.d]$ sudo yum update -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com
  • extras: mirrors.aliyun.com
  • updates: mirrors.aliyun.com
    No packages marked for update
    扩展源
    在安装一些软件包时,你会发现找不到,或者版本很老,与一些教程不一致,这大概就是因为你没有安装扩展源 EPEL。

EPEL(Extra Packages for Enterprise Linux) 是由Fedora Special Interest Group维护的Enterprise Linux(RHEL、CentOS)中经 常用到的包。

sudo yum -y install epel-release
安装后的扩展源的源默认是官方源,REPO 文件在 /etc/yum.repos.d/epel.repo, 这里并没有提供替换扩展源的方法,下次再补上。

vagrant高级知识

vagrant打造跨平台可移动开发环境

优化

虚拟机名称
vb.name = “ubuntu_mooc”
虚拟机主机名
config.vm.hostname = “mooc”
配置虚拟机内存和CPU
vb.memory = “1024”
vb.cpus = 2

打包命令

vagrant package --output xxx.box