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访问。