它们分别是什么?
VirtualBox:
号称是最强的免费虚拟机软件和VM类似。
不仅具有丰富的特色,而且性能也很优异。
Vagrant:
是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。
使用Oracle的开源VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。
主页:https://www.virtualbox.org/
安装包:http://download.virtualbox.org/virtualbox/5.0.20/VirtualBox-5.0.20-106931-Win.exe
Vagrant与Docker很像。Vagrant是一个基于Ruby的开源工具,用于创建和部署虚拟化开发环境。非常适合 php/python/ruby/java 这类语言开发 web 应用。它 使用Oracle的开源VirtualBox虚拟化系统。可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。
安装包:https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1.msi下载下来直接安装。
Vagrant box镜像站点:https://atlas.hashicorp.com/boxes/search
这里我们使用CentOS官方提供的vagrant box http://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7.box 下载该box到本地,假若放在F:\目录下 添加本地box vagrant box add CentOS/7 F:\CentOS-7.box # 添加本地box名称为CentOS/7 vagrant box list # 查看box列表 vagrant init CentOS/7 # 使用已添加的box创建虚拟机 vagrant up # 启动vagrant 最终会在目录下生成一个名为Vagrantfile的文件。 修改或编辑该文件内容如下
Vagrant.configure(2) do |config|
config.vm.box = "CentOS/7"
config.vm.network "public_network", ip: "192.168.0.228"
config.vm.hostname = "c1"
config.vm.provider "virtualbox" do |vb|
vb.name = "c1"
vb.memory = "2048"
end
end
注:其中config.vm.box表示使用哪个box, config.vm.network 配置网络及ip, config.vm.hostname设置主机名称, config.vm.provider设置使用virtualbox当然你还可以使用vmware。 Vb.name设置主机名, vb.memory设置内存大小。 使用vagrant up启动虚拟机。
$ vagrant init # 初始化
$ vagrant up # 启动虚拟机
$ vagrant halt # 关闭虚拟机
$ vagrant reload # 重启虚拟机
$ vagrant ssh # SSH 至虚拟机
$ vagrant status # 查看虚拟机运行状态
$ vagrant destroy # 销毁当前虚拟机
关于vagrant的详细使用请参考 https://github.com/sxyx2008/DevArticles/issues/36
此篇也是我在github中学习的,更详细的使用这篇写的很好