简介:
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境.
要想使用Vagrant这个工具,首先需要安装Virtualbox,步骤如下:
- 安装Virtualbox
- 安装Vagrant
- 启动vagrant服务
- 连接到虚拟机
安装Virtualbox
进入Virtualbox官网,下载安装Virtualbox,下载后安装一直点下一步,没什么难度。
安装Vagrant
- 进入Vagrant官网,下载自己对应操作系统的版本Vagrant,下载后安装一直点下一步,依然没什么难度
- 测试Vagrant是否安装成功,在命令行输入vagrant,如果会弹出命令帮助界面,说明安装成功。
安装box
box其实就是某种操作系统的镜像文件,安装box有两种方式,一种是直接从vagrantcloud.com加载,一种是先将box从vagrantcloud.com下载下来,然后从本地加载。
1.从vagrantcloud.com加载命令为vagrant box add boxname
如下:
vagrant box add chef/centos-6.5
2.从本地加载box命令为vagrant box add rename url/name.box
如下:
yangzhiqiangdeMacBook-Pro:Documents yangzhiqiang$ vagrant box add mall /Users/yangzhiqiang/Documents centos_dev_mall.box
测试box是否安装成功
使用命令vagrant box list,查看是否有刚刚安装的box,如果有则说明安装成功,反正则没有。
Vagrant的使用
- 初始化项目
进入目标文件夹,使用命令vagrant init chef/centos-6.5
,将项目初始化,初始化成功后,会提示初始化成功并生成一个Vagrantfile文件。 - 启动vagrant
同样是在目标文件夹,启动项目使用命令vagrant up
这个命令,vagrant服务就已经被开启了。 - 连接到虚拟机
在目标文件夹中,使用vagrant ssh
命令,能成功连接到vagrant虚拟机中。 - 虚拟机网络配置
电脑和虚拟机通信,比如在虚拟机上搭建了一个web服务器,需要在自己电脑上访问这个服务器,有三种方式:
forwarded_port: 端口转发方式,比如在Vagarantfile里面配置了8080端口转发到80端口,那么在电脑上访问localhost:8080,就会自动转发到虚拟机的80端口
config.vm.network "forwarded_port", guest: 9292, host:9292
private_network:私有网络,为虚拟机指定一个IP地址,只能通过你电脑访问
config.vm.network "private_network", ip: "192.168.33.10"
public_network:公有网络,为虚拟机指定一个IP地址,可以通过其他设备访问
config.vm.network "public_network"_
Vagrant常用命令
- 查看列表:vagrant box list
- 初始化项目:vagrant init boxname
- 查看虚拟机状态:vagrant status
- 添加box:vagrant box add rename url/name.box或者vagrant box add boxname
- 开机:vagrant up
- 连接到虚拟机:vagrant ssh
- 暂停虚拟机:vagrant suspend
- 恢复虚拟机:vagrant resume
- 关机:vagrant halt
- 重启虚拟机:vagrant reload
另外,移除虚拟机box的时候,如果有多个相同名字不同版本的box,需要指定版本删除,命令如下:
vagrant box remove coreos-alpha --box-version=745.1.0