vagrant 英[ˈveɪɡrənt]
n. 无业游民; 流浪者; (尤指) 乞丐;
adj. 流浪的; (思想) 游移不定的; (风等) 无定向的; (植物) 蔓生的;
Vagrant使用Ruby开发,基于VirtualBox等虚拟机管理软件的接口,提供一个虚拟开发环境。一个打包好的操作系统在Vagrant中称为Box。
Vagrant还会创建一些共享文件夹,以便在主机和虚拟机之间共享代码之用。
$ 使用Vagrant配置本地开发环境
(1)添加box
vagrant box add <box名称> <box文件>
【例】vagrant box add centos67 vagrant-centos-6.7.box
查看当前所有box:vagrant box list
(2)初始化刚才添加的box
【例】vagrant init centos67
会在当前目录下生成一个Vagrantfile的文件,主要包括三个方面的配置:虚拟机的配置、SSH配置、Vagrant的一些基础配置。
更新配置后,可以用命令vagrant reload重启虚拟机使之生效。
(3)启动虚拟机 vagrant up
(4)连接虚拟机 vagrant ssh
$ Vagrant提供三种网络配置
(1)端口映射(Forwarded port)
将本机和虚拟机的端口进行映射。例如本机的8080端口作为虚拟机的80端口,访问该机器的8080端口时,Vagrant会把请求转发到虚拟机的80端口上去处理。
【例】config.vm.network :forwarded_port, guest: 80, host: 8080
(2)私有网络(Private network)
这种方式只允许主机访问虚拟机,即主机是唯一出口。
【例】config.vm.network "private_network", ip: "192.168.1.10"
(3)公有网络(Public network)
【例】config.vm.network "public_network", ip: "192.168.1.100"
这种网络配置方式比较便于进行团队开发,在同一个网段之中的虚拟机可以互相访问。
如果
$ Vagrant常用命令
显示当前已经添加的box列表:
vagrant box list
删除相应的box列表:
vagrant box remove
停止当前正在运行的虚拟机并销毁所有创建的资源:
vagrant destroy
关闭虚拟机器:
vagrant halt
打包命令,将当前运行的虚拟机环境打包:
vagrant package
重新启动虚拟机,主要用于重新载入配置文件:
vagrant reload
输出用于SSH连接的一些信息:
vagrant ssh-config
挂起当前的虚拟机:
vagrant suspend
恢复前面被挂起的状态:
vagrant resume
获取当前虚拟机的状态:
vagrant status
参考:
https://blog.csdn.net/qianghaohao/article/details/80038096
《DevOps和自动化运维实践》 余洪春