脚本宝典收集整理的这篇文章主要介绍了vagrant 安装,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
Vagrant是一款用来构建虚拟开发环境的外挂工具,可以简化虚拟机配置和管理。它底层支持VirtualBox、VMware、AWS等,非常适合使用PHP/python/ruby/java语言开发web应用,“代码在我机子上运行没有问题”这种说辞将成为历史。
去官网 https://www.virtualbox.org/wiki/Downloads 下载最新版的VirtualBox,然后双击安装,一直点击确认完成。
去官网 https://www.vagrantup.com/downloads.html 下载最新版的Vagrant,然后双击安装,一直点击确认完成。在windows下安装vagrant,为了写入相应配置到环境变量,系统可能会要求重新启动。在命令行中,输入vagrant,查看程序是不是已经运行了。如果不行,请检查一下$PATH里面是否包含vagrant所在的路径
[TOC]
add Box的时候默认保存在c盘用户文件夹 C:\Users\xxx.vagrant.d,通过设置VAGRANT_HOME环境变量改变默认位置
setx VAGRANT_HOME "X:/your/path" setx VAGRANT_HOME "X:/your/path" /M (系统变量)
export VAGRANT_HOME='/path/to/vagrant_home'
命令 | 作用 |
---|---|
vagrant Box add | 添加Box的操作 |
vagrant inIT | 初始化Box的操作,会生成vagrant的配置文件Vagrantfile |
vagrant up | 启动本地环境 |
vagrant ssh | 通过ssh登录本地环境所在虚拟机 |
vagrant halt | 关闭本地环境 |
vagrant susPEnd | 暂停本地环境 |
vagrant resume | 恢复本地环境 |
vagrant reload | 修改了Vagrantfile后,使之生效(相当于先 halt,再 up) |
vagrant destroy | 彻底移除本地环境 |
vagrant Box list | 显示当前已经添加的Box列表 |
vagrant Box remove | 删除相应的Box |
vagrant package | 打包命令,可以把当前的运行的虚拟机环境进行打包 |
vagrant plugin | 用于安装卸载插件 |
vagrant status | 获取当前虚拟机的状态 |
vagrant global-status | 显示当前用户Vagrant的所有环境状态 |
接下来,我们需要选择使用何种操作系统,这里以centos7.2为例。以前基于虚拟机的工作流,我们需要下载ISO镜像,安装系统,设置系统等操作。而Vagrant开源社区提供了许多已经打包好的操作系统,我们称之为Box。你可以从Box下载地址(下文列出),找到你想要的Box,当然你也可以自己制作一个。
我们需要建立自己的开发环境目录:
$ mkdir -p /Users/jackyue/data/vagrant/centos7 $ cd /Users/jackyue/data/vagrant/centos7
Vagrant提供在线安装服务,非常方便,但由于伟大的GFW,我们需要先FQ把Box下载到本地,然后导入安装。Box链接:https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
以下是导入安装说明:
$ vagrant Box add {title} {url} $ vagrant init {title} $ vagrant up
vagrant Box add是添加Box的命令,{title}是以后创建虚拟机的别名,{url}是下载到本地Box的路径,也可以是服务器端的URL。
vagrant Box add PRecises64 http://files.vagrantup.COM/precise64.Box
vagrant Box add precises64 ./precise64.Box
vagrant Box add precises64 ubuntu/precise64
这种方式,vagrant会自动在中央仓库查找镜像,并下载到本地镜像库中。
vagrant Box add ubuntu/precise64
省略本地镜像名称,则直接用中央仓库中的镜像名作为本地镜像名,这样做的好处是可以跟仓库中的镜像对应。
$ cd /Users/jackyue/data/vagrant/centos7 //找到一个目录,作为初始化目录 $ vagrant Box add centos7 /Users/jackyue/data/vagrant/centos/centos-7.0-x86_64.Box //建议采取离线安装,这样有利于放置虚拟机文件到指定路径 ==> Box: Box file was not detected as Metadata. Adding it directly... ==> Box: Adding Box 'centos7' (v0) for provider: Box: Unpacking necessary files From: file:///Users/jackyue/data/vagrant/vagrant-centos-7.2.Box ==> Box: Successfully added Box 'centos7' (v0) for 'virtualBox'!
Box中的镜像文件被放到了/Users/jackyue/data/vagrant/.vagrant/machines/之下
$ vagrant init centos7 //如果是新添加的Box,必须执行本步骤,初始化一次之后,就不需要再执行本步骤 A `Vagrantfile` has been placed in this directory. You are Now ready to `vagrant up` your First virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
初始化成功后,vagrant会在当前的初始化目录生成一个Vagrantfile配置文件,我们可以修改它,进行个性化定制。在下一篇文章中,我们会具体讲解关于Vagrantfile的配置。对于Vagrantfile文件,我们可以直接编写,或者从网络上拉取Vagrantfile文件后,作为虚拟机配置文件,如下:
$ mkdir -p ~/vm/coreos $ cd ~/vm/coreos $ git clone https://github.com/coreos/coreos-vagrant.git
$ vagrant up // 第一次开启的时候,建议一台一台地开启,这样的话方便记录映射的本地端口号 bringing machine 'default' up with 'virtualBox' provider... ==> default: Importing base Box 'centos7'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: centos7_default_1493108555390_12825 ==> default: Clearing any prevIoUsly set network interfaces...
经过以上操作后,我们完成了centos7虚拟机的安装,现在需要登录虚拟机,进行操作,有以下三种方式:
在开发环境的目录(有Vagrantfile的地方),登录虚拟机
$ vagrant ssh
$ ssh -p 2222 127.0.0.1
当你配置好开发环境后,退出并关闭虚拟机。在终端里,对虚拟机打包
# vagrant halt // 在开发环境的目录,关闭centos7 # vagrant status // 确认centos7关机 # vagrant package centos7 --output centos7.Box --vagrantfile Vagrantfile // --output NAME:(可选)设置通过NAME来指定输出的文件名;--vagrantfile FILE:(可选)将Vagrantfile直接封进Box中
打包完成后会在当前目录生成一个centos7.Box的文件,将这个文件分发给其他用户(开发者)。
其他用户只要添加这个 Box ,并用其初始化自己的开发目录,就能得到一个一模一样的开发环境了。
# vagrant Box add centos7 centos7.Box //添加package.Box,镜像命名为centos7 $ vagrant init centos7 // 初始化centos7镜像 $ vagrant up
以上是脚本宝典为你收集整理的vagrant 安装全部内容,希望文章能够帮你解决vagrant 安装所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。