vagrant是什么?
vagrant是虚拟机的配置管理工具。
其工作原理就是将一个运行于虚拟主机平台(Virtual Box、VMware、 Hyper-V、Docker)的操作系统及其环境打包成.box 文件,然后分发,使用者下载.box文件后可以通过vagrant提供的方式快速创建出一个可配置的操作系统环境。
vagrant的强大在于其提供方便的可配置接口。通过配置文件可以快速创建多个虚拟机,创建完成就可以使用。
Vgrant安装配置
安装VirtualBox
- 安装virtualbox 版本:5.0.20 https://www.virtualbox.org/wiki/Downloads
- 需要安装:VirtualBox 5.0.20 Oracle VM VirtualBox Extension Pack
安装Vagrant
安装vargant 版本:1.8.1 https://www.vagrantup.com/downloads.html
Vagrant配置
.box文件怎么获得
- 去 http://www.vagrantbox.es/ 下载,这里提供很多box文件
- 自己制作box
添加box
添加box命令:
vagrant box add base /path/to/xxx.box |
其中[base]是添加到本地后box的标志名称
添加后box中的镜像文件被放到了:~/.vagrant.d/boxes/
初始化box
创建一个工作目录:
mkdir -p ~/code/vagrant |
name 就是上一步添加box时设置的标志名,如果不填写,vagrant会根据默认的名称为base的box初始化
执行完init命令之后就会在~/code/vagrantVagrantfile文件
编辑配置文件Vagrantfile
Vagrant.configure(2) do |config| |
如果你是从http://www.vagrantbox.es/ 下载的box,ssh用户名和密码默认是vagrant, config.ssh.username和config.ssh.password这两项不用配置DIRA:宿主机上需要共享的目录DIRB:虚拟主机目录
这是一个简单的配置,详细请看配置文件详解
启动
在目录~/code/vagrant下执行 vagrant up
使用
vagrant ssh执行后 快速进入虚拟主机
常用vagrant命令
vagrant box add添加boxvagrant init初始化boxvagrant up启动虚拟机vagrant ssh登录虚拟机vagrant box list显示当前已经添加的box列表vagrant box remove deve删除名称为deve的boxvagrant destroy停止当前正在运行的虚拟机并销毁所有创建的资源,即销毁一个虚拟机vagrant halt关闭虚拟机vagrant reload重启虚拟机,修改Vagrantfile后需要重启vagrant suspend挂起当前虚拟机vagrant resume恢复被挂起的虚拟机vagrant package打包当前虚拟机,创建box命令
配置文件详解
https://www.vagrantup.com/docs/vagrantfile/
config.vm
config.vm.box 配置使用box名称config.vm.boot_timeout vagrant等待虚拟机启动时间,默认300sconfig.vm.communicator 连接box方式 默认sshconfig.vm.guest 默认linux,配置客户机类型config.vm.hostname 配置虚拟机的主机名称config.vm.network 两种网络连接方式private_network和public_network,第一种配置虚拟机只能和客户机通讯,外网无法访问,第二配置虚拟机完全暴露在互联网。config.vm.provider 虚拟机提供者配置config.vm.provision 配置管理工具,通常用来安装一些软件config.vm.synced_folder 配置共享目录
配置多个虚拟机
使用 config.vm.define
Vagrant.configure("2") do |config| |
访问不同虚拟机 vagrant ssh web或vagrant ssh db
也可以直接用ip访问。