vagrant 使用指南
vagrant 使用指南
Date:2017.6.6 By author : longyunfeigu
一、准备工作
安装vagrant、virtualbox、listary.
注意:安装virtualbox的目录可以随意指定,但是安装vagrant最好选择默认路径(涉及到路径指向问题)
二、安装centos6.5
1.在windows下任意一个磁盘分区创建一个文件夹,文件夹名为虚拟机前缀名
2.把下载好的后缀名为.box
镜像文件复制到创建的文件夹内
3.在创建的文件夹内单击两次打开listary
,选择命令--打开命令行窗口
4.cmd
中输入vagrant box add ceshi1 c.box
,其中box
是参数,ceshi1
是命令vagrant box list
显示的虚拟机名称,c.box
是本人下载的box镜像
5.cmd
中输入vagrant init ceshi1
,此处的ceshi1
和步骤4保持一致.也可以输入vagrant init
,但是需要手动修改文件夹下的Vagrantfile
文件,把config.vm.box = "base"
改为config.vm.box = "ceshi1"
6.cmd
中输入vagrant up
启动虚拟机
7.在virtualbox的设置-网络把NAT改成桥接,并更改MAC地址(DHCP根据MAC地址分发IP,防止多台虚拟机出现同一个IP的情况)
三、配置
网络配置
vagrant的网络有三种模式
1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用,在Vagrantfile中配置: config.vm.network :forwarded_port, guest: 80, host: 8080
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置: config.vm.network :private_network, ip: "192.168.1.104"
192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置: config.vm.network :public_network
注意:更改完配置之后需要重启虚拟机才会生效.可以在virtualbox里手动重启,也可以在cmd
输入vagrant reload
重启
目录映射
既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。当然虚拟机里的文件也会映射到本地。
默认情况下,当前的工作目录,会被映射到虚拟机的/vagrant 目录,当前目录下的文件可以直接在/vagrant下进行访问。其实这里是由.\\.vagrant\\machines\\default\\virtualbox\\synced_folders
文件决定的
当然,从自动化配置的角度,能不进系统就不需要进系统,所以在vagrant也可以进行目录映射的操作: config.vm.synced_folder "../data", "/vagrant_data"
其中"../data"
是本机目录,支持绝对路径,"/vagrant_data"
是虚拟机路径
附录--vagrant常用命令
vagrant up
:启动虚拟机vagrant halt
:关闭虚拟机vagrant suspend
:暂停虚拟机vagrant resume
:恢复虚拟机(对应于暂停虚拟机)vagrant destroy
:删除虚拟机vagrant package --output NAME --vagrantfile FILE
:虚拟机打包
注意:如果要打包的系统中网络模式中使用了private_network
的话,在打包前需要清除private_network
的设置,避免不必要的错误: rm -f /etc/udev/rule.d/70-persistent-net.rules
制作完成之后直接将box文件拿到其他计算机上配置即可使用